@charset "UTF-8";

/*==========================================================================
  Common
==========================================================================*/
:root {
    --color-pink: #E67570;
    --color-green: #48B05A;
}

body {
  font-family: 游ゴシック, YuGothic, メイリオ, Meiryo, sans-serif, Roboto,
    "Droid Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
  font-size: 16px;
  font-weight: 500;
  color: #000000;
}

body a:hover {
  text-decoration: none;
}

html {
  scroll-behavior: smooth;
}

.clear:after {
  content: "";
  display: block;
  clear: both;
}
a {
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}
.txt_center {
  text-align: center;
}
.txt_right {
  text-align: right;
}
/** フォームリセット **/
input,
button,
textarea,
select,
submit {
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.back-to-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 5%;
  z-index: 100;
  cursor: pointer;

  opacity: 0;
  visibility: hidden;

  transition: opacity 0.6s ease;
}

.back-to-top.show {
  opacity: 1;
  visibility: visible;
}

.back-to-top img {
  width: 100%;
}

.header-box {
  position: fixed;
  width: 100%;
  z-index: 100;
}

.header-cnt {
  display: flex;
  justify-content: space-between;
  max-width: 1350px;
  margin: 0 auto;
}

.header-cnt figure {
    margin-left: 2%;
    z-index: 1000;
}

.header-cnt ul.header-pc-menu {
  display: flex;
  background-color: #fff;
  height: 80px;
  margin-top: 2%;
  margin-right: 2%;
  padding: 0 2%;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

.header-cnt ul.header-pc-menu li {
  align-content: center;
  width: fit-content;
}

.header-cnt ul.header-pc-menu li a {
  padding: 28px 0;
  font-size: 18px;
  color: #000000;
  font-weight: bold;
}

.header-cnt ul.header-pc-menu li a:hover {
  text-decoration: none;
}

.header-cnt ul.header-pc-menu li a::after {
  content: "|";
  padding: 0 20px;
}

.header-cnt ul.header-pc-menu li:last-child a::after {
  display: none;
}

nav.sp-menu {
    display: none;
}

div.hamburger {
    display: none;
}

/* ------------------------- */

main p,
main h2,
main h3,
main tbody,
main a,
footer p {
  font-family: 'Zen Kaku Gothic New', sans-serif;
}

.mv {
  background-color: #B9DDBE;
  width: 100%;
  position: relative;
  z-index: -2;
}

.mv-cnt-box {
  max-width: 930px;
  margin: 0 auto;
  padding-bottom: 15%;
  padding-left: 2rem;
  position: relative;
}

.mv-cnt-box::after {
  background-image: url(../img/mv-deco-back.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  display: block;
  width: 65%;
  top: 20%;
  right: 3%;
  aspect-ratio: 939 / 534;
  z-index: -1;
}

.mv-cnt-block {
  display: flex;
  justify-content: space-between;
  padding-top: 25%;
}

figure.mv-figure-block {
  margin-top: 5rem;
  width: 60%;
}

.mv-cnt-block h1 {
    width: 70%;
}

.mv-cnt-block figure {
    width: 20%;
}

.mv-figure-block::after {
  background-image: url(../img/mv-time-before.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  display: block;
  width: 30%;
  top: 52%;
  right: 6%;
  aspect-ratio: 475 / 366;
}

.sp-display-image {
  display: none;
}

.bubble {
  background-color: #fff;
  border-radius: 10px;
  max-width: 800px;
  margin: 0 auto;
  margin-top: -10%;
  padding: 15px;
  position: relative;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  opacity: 1;
  transform: none;
}

/* 発火状態 */
.bubble.is-animated {
  animation: bubbleFloat 2.8s ease-in-out infinite;
}

/* アニメーション本体 */
@keyframes bubbleFloat {
  0% {
    transform: translateY(0); 
    opacity: 1;
  }

  20% {
    transform: translateY(-10px);
    opacity: 1;
  }

  35% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-6px);
  }

  65% {
    transform: translateY(0);
    opacity: 1;
  }

  80% {
    transform: translateY(0);
    opacity: 1;
  }

  /* ここから待機ゾーン */
  90% {
    transform: translateY(0);
    opacity: 1;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

.bubble::after {
  content: "";
  position: absolute;
  bottom: -10px; /* 吹き出しの外に出す */
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

.bubble p {
  font-size: 25px;
  text-align: center;
}

.type-pink {
  color: var(--color-pink);
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.type-bold {
  font-weight: bold;
  font-size: 1.125rem;
}

section.cnt-box.event {
  background-color: #FCE8E7;
  padding-top: 10%;
  padding-bottom: 8%;
  margin-top: -4rem;
}

.cnt-block {
  max-width: 930px;
  margin: 0 auto;
}

h2.cnt-block-ttl {
    margin: 0 auto;
    text-align: center;
    background-color: #000000;
    color: #fff;
    padding: 5px;
    border-radius: 8px;
    font-size: 2.5rem;
    font-weight: bold;
    position: relative;
}

section.cnt-box.event .cnt-block h2.cnt-block-ttl {
    width: 245px;
}

section.cnt-box.event .cnt-block h2.cnt-block-ttl::before {
  background-image: url(../img/event-ttl-deco01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 65%;
  left: -115%;
  top: -25%;
  aspect-ratio: 232 / 101;
}

section.cnt-box.event .cnt-block h2.cnt-block-ttl.zoomin::after {
  background-image: url(../img/event-ttl-deco02-1.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 55%;
  right: -130%;
  aspect-ratio: 203 / 255;
  /* 初期状態 */
  transform: scale(0.8);
  opacity: 0;
}

/* 発火後 */
section.cnt-box.event .cnt-block h2.cnt-block-ttl.zoomin.is-animated::after,
section.cnt-box.time-table .cnt-block h2.cnt-block-ttl.zoomin.is-animated::before,
section.cnt-box.participate .cnt-block h2.cnt-block-ttl.zoomin.is-animated::after,
.cnt-box.preparation .cnt-block h2.cnt-block-ttl.zoomin.is-animated::before,
section.cnt-box.booth .cnt-block h2.cnt-block-ttl.zoomin.is-animated::after,
.decorate-style02.zoomin.is-animated::before,
.decorate-style02.zoomin.is-animated::after,
.footer-image-box.zoomin.is-animated::before,
.footer-image-box.zoomin.is-animated::after {
  animation: zoomIn 0.8s cubic-bezier(0.2, 1.5, 0.5, 1) forwards;
}

@keyframes zoomIn {
  0% {
    transform: scale(0.6);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.event-box {
    margin-top: 5%;
    background-color: #fff;
    border: solid 5px #B9DDBE;
    border-radius: 35px;
    padding: 5%;
}


table.event-table {
    width: 100%;
}

table.event-table.first {
    margin-bottom: 2%;
    border-bottom: dotted 1px #000000;
}

table.event-table.first tbody tr th.table-ttl,
table.event-table.second tbody tr th.table-ttl {
    background-color: #FFF8B0;
    padding: 1%;
    width: 150px;
    height: 60px;
    border-radius: 10px;
    text-align: center;
    display: inline-block;
    margin-right: 30px;
    font-size: 18px;
}

table.event-table.first tbody tr,
table.event-table.second tbody tr {
    display: flex;
    margin-top: 30px;
    gap: 30px;
}

table.event-table.first tbody tr:nth-child(2) {
  padding-bottom: 5%;
}

table.event-table.first tbody tr th,
table.event-table.first tbody tr td,
table.event-table.second tbody tr th {
    font-size: 20px;
    font-weight: bold;
    align-content: center;
    position: relative;
    width: 80%;
}

table.event-table.second tbody tr td {
  font-size: 16px;
  font-weight: bold;
  align-content: center;
  position: relative;
  width: 80%;
}

table.event-table.first tbody tr td.venue {
  font-size: 20px;
}

table.event-table.first tbody tr td span.days {
  font-size: 46px;
  display: inline-block;
}

table.event-table.first tbody tr td span.days.plus {
  padding-left: 10px;
}

table.event-table.first tbody tr td span.days2 {
  font-size: 32px;
  display: inline-block;
  padding: 0 10px 0 10px;
}

th.table-ttl.type-first {
    margin-top: 3%;
}

.evet-caution {
    margin-top: 5%;
    padding-bottom: 4%;
    margin-bottom: 5%;
    border-bottom: dotted 1px #000000;
}

table.event-table.first tbody tr td a,
table.event-table.second tbody tr td a {
  color: var(--color-green);
  position: relative;
  font-size: 16px;
}

table.event-table.first tbody tr td a::after {
  background-image: url(../img/link-icon.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 12%;
  margin-left: 5%;
  margin-top: 7%;
  aspect-ratio: 25 / 25;
}

table.event-table.second tbody tr td a::after {
  background-image: url(../img/link-icon.svg);
  background-repeat: no-repeat;
  content: ""; 
  position: absolute; 
  width: 100%; 
  height: 100%;
  margin-left: 4%;
  margin-top: 3%;
}

a.map-link {
  bottom: 3px;
}

.form-link {
  margin-right: 6%;
}

.btn-box {
    display: flex;
    width: 100%;
    margin: 0 auto;
    justify-content: center;
    gap: 2%;
}

.btn-box a {
  display: block;
  color: #fff;
  width: 50%;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  align-content: center;
  position: relative;
}

.btn-box a.pink-btn {
  background-color: var(--color-pink);
}

.btn-box a.pink-btn::after {
  background-image: url(../img/btn-allow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 2%;
  right: 8%;
  top: 46%;
  aspect-ratio: 12 / 16;
}

.btn-box a.green-btn {
  background-color: var(--color-green);
}

.btn-box a.green-btn::after {
  background-image: url(../img/btn-allow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 2%;
  right: 8%;
  top: 46%;
  aspect-ratio: 12 / 16;
}

.display-768 {
  display: none;
}

.cnt-box.participate {
  /* background-image: url(../img/mv-participate-back.png); */
  /* content: ""; */
  background-color: #D9EDED;
  width: 100%;
  height: 100%;
  padding-top: 10%;
  padding-bottom: 5%;
}

section.cnt-box.participate .cnt-block h2.cnt-block-ttl {
  width: 245px;
}

section.cnt-box.participate .cnt-block h2.cnt-block-ttl::after {
  background-image: url(../img/participate-ttl-deco01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 65%;
  right: -100%;
  bottom: 175%;
  aspect-ratio: 232 / 308;
  transform: scale(0.8);
  opacity: 0;

}

section.cnt-box.participate .cnt-block h2.cnt-block-ttl::before {
  background-image: url(../img/participate-ttl-deco02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 75%;
  left: -110%;
  bottom: -25%;
  aspect-ratio: 342 / 132;
}

.company-list-box {
  margin: 0 auto;
  border-radius: 35px;
  padding: 5%;
}

.company-list-box ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    width: 100%;
}

.company-list-box ul li a {
    display: block;
    background-color: #FFF;
    padding: 3%;
    border-radius: 5px;
    width: 100%;
    height: 86px;
    font-size: 16px;
    font-weight: bold;
    align-content: center;
    padding: 5%;
    color: #000000;
}

section.cnt-box.booth {
    padding-top: 10%;
    padding-bottom: 5%;
    background-color: #B9DDBE;
}

section.cnt-box.booth .cnt-block h2.cnt-block-ttl {
    width: 364px;
}

.booth-block {
    background-color: #fff;
    padding: 5%;
    margin-bottom: 5%;
    border-radius: 35px;
}

.booth-block h3,
.booth-block p,
.booth-block a {
  text-align: center;
  margin-bottom: 3%;
}

.booth-link {
  display: block;
}

.booth-block h3 span{
  background: linear-gradient(transparent 50%, #FFF8B0 50%);
  padding: 0 8px;
  font-size: 25px;
  font-weight: bold;
}

.booth-block .type-pink {
  font-size: 28px;
}

p.booth-detail {
    font-size: 18px;
    font-weight: 400;
    line-height: 2.0;
}

.booth-box {
  margin-top: 5%;
  position: relative;
}

a.booth-link {
    background-color: var(--color-pink);
    color: #fff;
    padding: 3%;
    font-size: 20px;
    font-weight: bold;
    width: 395px;
    margin: 0 auto;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
    border-radius: 10px;
    position: relative;
}

a.booth-link::after {
    background-image: url(../img/btn-allow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    width: 2%;
    right: 8%;
    top: 46%;
    aspect-ratio: 12 / 16;
}

.display-375 {
  display: none;
}

.display-425 {
  display: none;
}

section.cnt-box.booth .cnt-block h2.cnt-block-ttl::before {
  background-image: url(../img/booth-ttl-deco01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 45%;
  left: -70%;
  top: -20%;
  aspect-ratio: 231 / 99;
}

section.cnt-box.booth .cnt-block h2.cnt-block-ttl::after {
  background-image: url(../img/booth-ttl-deco02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 30%;
  right: -70%;
  top: 5%;
  z-index: 1;
  aspect-ratio: 194 / 209;
  transform: scale(0.8);
  opacity: 0;

}

.booth-block.first,
.booth-block.second,
.booth-block.third,
.booth-block.fourth {
    position: relative;
}

.booth-block.first::after {
    background: url(../img/booth-block-first.svg) no-repeat center bottom / contain;
    content: "";
    position: absolute;
    width: 15%;
    bottom: 0;
    aspect-ratio: 254 / 335;
}

.booth-block.second::after {
  background-image: url(../img/booth-block-second.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  content: "";
  position: absolute;
  width: 15%;
  bottom: 0%;
  left: 41%;
  aspect-ratio: 164 / 179;
}

.booth-block.third::after {
  background-image: url(../img/booth-block-third.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 10%;
  bottom: 0%;
  right: 10%;
  aspect-ratio: 170 / 129;
}

.booth-block.second {
    padding-bottom: 15%;
}

.booth-block.fourth {
    overflow: hidden;
    z-index: 1;
}

.booth-block.fourth::after {
  background-image: url(../img/booth-block-fourth.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 15%;
  bottom: -5%;
  left: 0;
  aspect-ratio: 333 / 212;
}

.booth-box::after {
  background-image: url(../img/booth-box-after.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 15%;
  bottom: -3%;
  left: -9.5%;
  aspect-ratio: 337 / 209;
  z-index: 0;
}

h2.cnt-block-ttl2 {
    margin: 0 auto;
    text-align: center;
    color: #000000;
    padding: 5px;
    border-radius: 8px;
    font-size: 34px;
    font-weight: bold;
    position: relative;
    margin-bottom: 3%;
}

h2.cnt-block-ttl2::before {
  content: "＼";
  position: absolute;
  left: 30%;
}

h2.cnt-block-ttl2::after {
  content: "／";
  position: absolute;
  right: 30%;
}

.out-prefect-info h2.cnt-block-ttl2::before {
  left: 25%;
}

.out-prefect-info h2.cnt-block-ttl2::after {
  right: 25%;
}

figure.access-map-box iframe {
    border-radius: 35px;
    width: 100%;
}

section.cnt-box.access {
  padding-top: 10%;
  padding-bottom: 5%;
  position: relative;
  overflow: hidden;
}

section.cnt-box.access::before {
  background-image: url(../img/access-deco05.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 5%;
  left: 15%;
  top: 6%;
  aspect-ratio: 118 / 164;
  z-index: -1;
}

p.access-txt1 {
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  margin-top: 5%;
}

p.access-txt2 {
  font-size: 25px;
  text-align: center;
  font-weight: 400;
}

a.green-btn2 {
  display: block;
  width: 390px;
  margin: 0 auto;
  background-color: var(--color-green);
  color: #fff;
  padding: 2%;
  font-size: 20px;
  font-weight: bold;
  border-radius: 10px;
  margin-top: 5%;
  margin-bottom: 10%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  position: relative;
}

a.green-btn2::after {
  background-image: url(../img/btn-allow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 2%;
  right: 8%;
  top: 46%;
  aspect-ratio: 12 / 16;
}

.green-btn2.plus {
  margin-bottom: 5%;
}

.shimane-toroku-info {
    background-color: #E67570;
    padding: 5%;
    border-radius: 35px;
    position: relative;
}

.info-txt {
  font-size: 35px;
  color: #fff;
  text-align: center;
}

.black_btn {
  background-color: #000000;
  color: #fff;
  font-size: 25px;
  font-weight: bold;
  border-radius: 10px;
  padding: 2%;
  text-align: center;
  display: block;
  width: 390px;
  margin: 0 auto;
  margin-top: 5%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  position: relative;
}

.black_btn::after {
  background-image: url(../img/btn-allow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 2%;
  right: 8%;
  top: 46%;
  aspect-ratio: 12 / 16;
}

.black_btn:hover {
  color: #fff;
}

.info-txt span {
  color: #FFF8B0;
}

.out-prefect-info {
    border-radius: 35px;
    background-color: #F3F3EE;
    margin-top: 7%;
    padding: 5%;
    padding-top: 10%;
    position: relative;
}

.out-prefect-info::before {
    background-image: url(../img/access-deco05.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    width: 10%;
    left: -20%;
    top: 15%;
    aspect-ratio: 118 / 164;
    z-index: -1;
}


figure.out-prefect-image {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}

figure.out-prefect-image img {
    width: 100%;
}

.out-prefect-table table.event-table.first {
    border-top: dotted 1px #000000;
    margin-top: 5%;
}

.out-prefect-table table.event-table.first tbody tr th.table-ttl {
    background-color: #fff;
}

table.table-txt-green-box {
    width: 100%;
}

table.table-txt-green-box tbody tr {
    display: flex;
    gap: 50px;
    margin-bottom: 1.5%;
}

table.table-txt-green-box tbody tr th {
    color: #48B05A;
    width: 100px;
}

table.table-txt-green-box tbody tr td {
    font-weight: bold;
}

a.green-btn3 {
  display: block;
  width: 600px;
  margin: 0 auto;
  background-color: var(--color-green);
  color: #fff;
  padding: 2%;
  font-size: 27px;
  font-weight: bold;
  border-radius: 10px;
  margin-top: 5%;
  margin-bottom: 10%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  text-align: center;
  position: relative;
}

a.green-btn3::after {
  background-image: url(../img/btn-allow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 2%;
  right: 7%;
  top: 43%;
  aspect-ratio: 12 / 16;
}

figure.short-term-work-btn {
  margin-top: 5%;
  position: relative;
}

figure.short-term-work-btn::after {
  background-image: url(../img/access-deco05.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 10%;
  top: -20%;
  aspect-ratio: 118 / 164;
  z-index: -1;
}

footer.footer-box {
    background-color: #B9DDBE;
    padding-top: 5%;
    padding-bottom: 5%;
}

figure.footer-image-box {
    display: flex;
    justify-content: center;
    width: 50%;
    margin: 0 auto;
    margin-bottom: 3%;
    position: relative;
}

figure.footer-image-box figure {
    align-content: center;
}

figure.footer-image-box2 {
    text-align: center;
    margin-bottom: 3%;
}

p.footer-adress {
    text-align: center;
    font-weight: bold;
}

p.footer-txt {
    text-align: center;
    margin-top: 5%;
}

.decorate-style {
  position: relative;
}

.decorate-style::before {
    background-image: url(../img/access-deco01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    width: 15%;
    left: 0%;
    bottom: -20%;
    aspect-ratio: 192 / 46;
}

.decorate-style::after {
  background-image: url(../img/access-deco02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 15%;
  right: 10%;
  bottom: 75%;
  aspect-ratio: 252 / 105;
}

.decorate-style02 {
  position: relative;
}

.decorate-style02::before {
  background-image: url(../img/access-deco03.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 22%;
  left: 0%;
  bottom: 5%;
  aspect-ratio: 342 / 335;
  /* 初期状態 */
  transform: scale(0.8);
  opacity: 0;
}

.decorate-style02::after {
  background-image: url(../img/access-deco04.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 20%;
  right: 0%;
  bottom: 0%;
  aspect-ratio: 302 / 395;
  /* 初期状態 */
  transform: scale(0.8);
  opacity: 0;
}

.shimane-toroku-info::after {
  background-image: url(../img/access-deco05.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 10%;
  top: -25%;
  aspect-ratio: 118 / 164;
  z-index: -1;
}

.footer-image-box::before {
  background-image: url(../img/footer-image01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 30%;
  top: -90%;
  left: -75%;
  aspect-ratio: 143 / 170;
  /* 初期状態 */
  transform: scale(0.8);
  opacity: 0;
}

.footer-image-box::after {
  background-image: url(../img/footer-image03.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 55%;
  top: -75%;
  aspect-ratio: 291 / 265;
  /* 初期状態 */
  transform: scale(0.8);
  opacity: 0;
}

p.footer-adress {
  position: relative;
}

p.footer-adress::before {
  background-image: url(../img/footer-image02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 28%;
  top: -80%;
  left: -15%;
  aspect-ratio: 290 / 214;
}

.toroku-info-txt {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
}

.toroku-info-txt span {
  color: var(--color-pink);
}

.toroku-info-cnt {
  margin-top: 5%;
  margin-bottom: 5%;
}

a.toroku-info-btn {
  display: block;
  text-align: center;
  width: 390px;
  margin: 0 auto;
  margin-top: 3%;
  background-color: #FFF8B0;
  font-size: 22px;
  font-weight: bold;
  padding: 2%;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  position: relative;
  color: #000000;
}

a.toroku-info-btn::after {
  background-image: url(../img/btn-allow2.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 3%;
  right: 7%;
  top: 44%;
  aspect-ratio: 12 / 16;
}

h2.cnt-block-ttl {
  margin: 0 auto;
  text-align: center;
  background-color: #000000;
  color: #fff;
  padding: 5px;
  border-radius: 8px;
  font-size: 28px;
  font-weight: bold;
  position: relative;
}

section.cnt-box.time-table {
  padding: 10% 0;
  position: relative;
}


section.cnt-box.time-table::before {
  background-image: url(../img/access-deco05.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 8%;
  left: 1%;
  top: 3%;
  aspect-ratio: 118 / 164;
  z-index: -1;
}

section.cnt-box.time-table::after {
  background-image: url(../img/access-deco05.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 7%;
  right: 2%;
  bottom: 10%;
  aspect-ratio: 118 / 164;
  z-index: -1;
}

section.cnt-box.time-table .cnt-block h2.cnt-block-ttl {
  width: 285px;
}

section.cnt-box.time-table .cnt-block h2.cnt-block-ttl::before {
  background-image: url(../img/event-ttl-deco02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 40%;
  top: -130%;
  left: -100%;
  aspect-ratio: 180 / 191;
  /* 初期状態 */
  transform: scale(0.8);
  opacity: 0;
}

section.cnt-box.time-table .cnt-block h2.cnt-block-ttl::after {
  background-image: url(../img/time-table-ttl-deco02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 80%;
  top: -35%;
  right: -125%;
  aspect-ratio: 291 / 98;
}

.time-table-box {
  display: flex;
  margin-top: 5%;
}

ul.detail-table-block li.table-ttl,
ul.time-table-block li.table-ttl {
  background-color: #B9DDBE !important;
}

.table-ttl {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

ul.time-table-block {
  width: 40%;
  border: solid 1px #000000;
}

ul.time-table-block li {
  height: 65px;
  align-content: center;
  text-align: center;
}

ul.detail-table-block {
  width: 60%;
  border: solid 1px #000000;
  border-left: none;
}

ul.detail-table-block li {
  height: 65px;
  align-content: center;
  padding-left: 5%;
}

ul.time-table-block li:nth-child(odd) {
  background-color: #E2F1E4;
}

ul.detail-table-block li:nth-child(odd) {
  background-color: #E2F1E4;
}

ul.time-table-block li:nth-child(even) {
  background-color: #fff;
}

ul.detail-table-block li:nth-child(even) {
  background-color: #fff;
}

ul.detail-table-block li.table-ttl {
    padding-left: unset;
}

h3.company-list-ttl {
    font-size: 23px;
    font-weight: bold;
    border-bottom: solid 1px #000000;
    margin: 0 5% 0 5%;
    padding-bottom: 1%;
}

.company-list-block {
    margin-top: 5%;
}

.cnt-box.preparation {
  background-image: url(../img/mv-participate-back.png);
  content: "";
  width: 100%;
  height: 100%;
  padding-top: 10%;
  padding-bottom: 5%;
}

.cnt-box.preparation .cnt-block h2.cnt-block-ttl {
    width: 170px;
    position: relative;
}

.cnt-box.preparation .cnt-block h2.cnt-block-ttl::before {
  background-image: url(../img/preparation-ttl-deco01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 100%;
  top: -105%;
  left: -190%;
  aspect-ratio: 201 / 115;
  /* 初期状態 */
  transform: scale(0.8);
  opacity: 0;
}

.cnt-box.preparation .cnt-block h2.cnt-block-ttl::after {
  background-image: url(../img/preparation-ttl-deco02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 155%;
  top: -80%;
  right: -250%;
  aspect-ratio: 349 / 148;
}

.preparation-cnt-box {
  background-color: #fff;
  padding: 5%;
  border-radius: 35px;
  border: solid 5px #B9DDBE;
  margin-top: 5%;
}

.preparation-cnt-box p {
  text-align: center;
}

.preparation-cnt-box p.type-pink {
  font-size: 26px;
  margin-bottom: 3%;
}

.preparation-cnt-txt {
  line-height: 2.0;
}

p.preparation-cnt-txt {
    font-size: 18px;
    font-weight: 400;
}

.preparation-cnt-btn {
  display: block;
  background-color: var(--color-pink);
  color: #fff;
  padding: 3%;
  font-size: 20px;
  font-weight: bold;
  width: 500px;
  margin: 0 auto;
  margin-top: 3%;
  text-align: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  border-radius: 10px;
  position: relative;
}

.preparation-cnt-btn::after {
  background-image: url(../img/download.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 5%;
  right: 8%;
  top: 40%;
  aspect-ratio: 12 / 16;
}

.preparation-cnt-btn:hover {
  color: #fff;
}

.header-pc-form-btn {
  position: fixed;
  right: 0;
  top: 120px;
  z-index: 500;
  display: block;
  background: #E67570;
  color: #FFF !important;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding: 20px 18px 35px 15px;
  font-size: 18px;
  font-weight: bold;
  border-radius: 16px 0 0 16px;
  line-height: 1.2;
  letter-spacing: 0.2em;
  border: 3px solid #E67570;
  border-right: none;
  text-decoration: none;
}

.header-pc-form-btn:hover {
  text-decoration: none;
}

.header-pc-form-btn::after {
  background-image: url(../img/btn-allow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  width: 20%;
  right: 40%;
  bottom: 4%;
  aspect-ratio: 12 / 16;
}


@media screen and (min-width: 1537px) {
  figure.short-term-work-btn::after {
    right: -20%;
  }
  .shimane-toroku-info::after {
    right: -20%;
  }
  .footer-image-box::after {
    right: -70%;
  }
}

@media screen and (max-width: 1536px) {
  figure.short-term-work-btn::after {
    right: -4%;
  }
  .shimane-toroku-info::after {
    right: -4%;
  }
  .footer-image-box::after {
    right: -60%;
  }
  .footer-image-box::before {
    left: -60%;
  }

  p.footer-adress::before {
    width: 23%;
    top: -40%;
    left: -4%;
  }
  section.cnt-box.time-table .cnt-block h2.cnt-block-ttl::after {
    right: -120%;
  }

}

@media screen and (min-width: 800px) {
  body {
    min-width: 1300px;
  }
}

@media screen and (max-width: 1400px) {
  .footer-image-box::before {
    left: -30%;
    top: -75%;
  }
  .footer-image-box::after {
    right: -40%;
    width: 45%;
    top: -55%;
  }
}

@media screen and (max-width: 1350px) {
  .cnt-block {
    max-width: 90%;
  }
}

@media screen and (max-width: 1200px) {
  .bubble {
    width: 90%;
  }
}

@media screen and (max-width: 799px) {
  .header-cnt ul.header-pc-menu li a::after {
    padding: 0 10px;
  }

  .mv-cnt-box {
    padding-bottom: 8rem;
  }

  .mv-cnt-box::after {
    width: 60%;
    right: 8%;
  }
  .mv-cnt-block {
    padding-right: 2rem;
  }

  .mv-cnt-block {
    padding-top: 25%;
  }

  table.event-table.second tbody tr td a::after {
    width: 35%;
  }

  table.event-table.first tbody tr, 
  table.event-table.second tbody tr {
    gap: unset;
  }

  table.event-table.first tbody tr th.table-ttl, 
  table.event-table.second tbody tr th.table-ttl {
    width: 160px;
  }

  table.event-table.second tbody tr td a::after {
    width: 25px;
    margin-top: 5px;
    margin-left: 4px;
  }

  .form-link {
    margin-right: 10%;
  }

  section.cnt-box.event .cnt-block h2.cnt-block-ttl::before {
    background-size: 45%;
    left: -55%;
    top: 25%;
  }
  .bubble {
    margin-top: -10%;
  }

  section.cnt-box.event {
      padding-top: 20%;
      margin-top: -10%;
  }

  section.cnt-box.participate .cnt-block h2.cnt-block-ttl::before {
    left: -95%;
  }

  section.cnt-box.booth .cnt-block h2.cnt-block-ttl::before {
    left: -25%;
    width: 25%;
  }

  section.cnt-box.booth .cnt-block h2.cnt-block-ttl::after {
    width: 15%;
    height: 12vh;
    right: -20%;
    top: 50%;
    z-index: 1;
  }

  section.cnt-box.event .cnt-block h2.cnt-block-ttl::after {
    width: 35%;
    right: -48%;
  }

  section.cnt-box.participate .cnt-block h2.cnt-block-ttl::after {
    width: 40%;
    right: -65%;
    bottom: 70%;
  }
  .booth-block.first {
    padding-bottom: 50%;
  }
  .booth-block.first::after {
    width: 35%;
    left: 33%;
  }

  .booth-block.fourth::after {
    bottom: 0%;
  }

  h2.cnt-block-ttl2::before {
    left: 15%;
  }

  h2.cnt-block-ttl2::after {
    right: 15%;
  }

  table.event-table.first tbody tr td span.days {
    font-size: 2.8rem;
  }

  .decorate-style02::before {
    left: -3%;
    bottom: 45%;
  }

  .decorate-style02::after {
    width: 15%;
    right: 0%;
    bottom: 50%;
  }

  section.cnt-box.time-table .cnt-block h2.cnt-block-ttl::after {
    right: -55%;
    width: 45%;
  }

  section.cnt-box.time-table .cnt-block h2.cnt-block-ttl::before {
    width: 25%;
    top: -25%;
    left: -50%;
  }

  .company-list-box ul li a {
    height: 100%;
  }

  .cnt-box.preparation .cnt-block h2.cnt-block-ttl::after {
    width: 45%;
    right: -60%;
  }

  .cnt-box.preparation .cnt-block h2.cnt-block-ttl {
    width: 50%;
  }

  .cnt-box.preparation .cnt-block h2.cnt-block-ttl::before {
    left: -55%;
    width: 40%;
  }

  .header-cnt ul.header-pc-menu li a {
    font-size: 10px;
  }

  section.cnt-box.event .cnt-block h2.cnt-block-ttl.zoomin::after {
    width: 35%;
    right: -50%;
  }

}

@media screen and (max-width: 768px) {
  .pc-display-image {
    display: none;
  }

  img.sp-display-image {
    display: block;
    width: 100%;
  }

  .mv-cnt-box::after {
    background-image: url(../img/mv-deco-back-sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    display: block;
    width: 55%;
    top: 5%;
    right: 5%;
    z-index: -1;
    aspect-ratio: 274 / 371;
  }

  .mv-figure-block::after {
    background-image: url(../img/mv-time-before.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    display: block;
    width: 30%;
    top: 20%;
    right: 10%;
    aspect-ratio: 274 / 371;
  }

  .mv-cnt-block figure {
    margin-top: 32%;
  }

  figure.mv-figure-block {
    padding-right: 2rem;
  }

  figure.mv-figure-block {
    margin-top: 4rem;
    width: 100%;
  }

  .bubble {
    margin-top: -8%;
  }

  .event-box {
    background-color: unset;
    border: unset;
  }

  table.event-table.first tbody tr, table.event-table.second tbody tr {
    display: block;
  }

  table.event-table.first tbody tr th.table-ttl, 
  table.event-table.second tbody tr th.table-ttl {
    width: 100%;
    background-color: #fff;
    margin-right: unset;
    font-weight: bold;
  }

  .display-768 {
    display: block;
  }

  
  table.event-table.first tbody tr td a,
  table.event-table.second tbody tr td a {
    display: block;
  }

  a.map-link {
    left: unset;
    bottom: unset;
  }

  table.event-table.first tbody tr td a::after {
    margin-left: unset;
    margin-top: unset;
  }

  table.event-table.first tbody tr td, 
  table.event-table.second tbody tr td {
    display: block;
    margin-top: 2%;
  }

  section.cnt-box.event .cnt-block h2.cnt-block-ttl::before {
    display: none;
  }

  table.event-table.first tbody tr td span.days {
    font-size: 3.5rem;
    display: inline;
  }

  table.event-table.first tbody tr td,
  table.event-table.first tbody tr td.venue,
  table.event-table.second tbody tr td {
    font-size: 1.5rem ;
    line-height: 2.0;
    margin-top: 5%;
    width: 100%;
  }

  table.event-table.second tbody tr td a {
    display: inline;
  }

  section.cnt-box.event .cnt-block h2.cnt-block-ttl {
    width: 50%;
  }

  table.event-table.first tbody tr td a::after {
    width: 25px;
  }

  .company-list-box ul {
    grid-template-columns: repeat(2, 1fr);
  }

  .company-list-box {
    background-color: unset;
    border: unset;
  }

  .company-list-box ul li a {
    background-color: #fff;
    font-size: 18px;
  }

  .cnt-box.participate {
    padding-top: 10%;
  }

  section.cnt-box.participate .cnt-block h2.cnt-block-ttl::before {
    height: 25vh;
    left: -48%;
    top: -175%;
  }
  section.cnt-box.booth .cnt-block h2.cnt-block-ttl {
    width: 65%;
  }
  a.booth-link {
    width: 75%;
  }
  section.cnt-box.booth .cnt-block h2.cnt-block-ttl::before {
    display: none;
  }
 
  section.cnt-box.event .cnt-block h2.cnt-block-ttl::before {
    display: none;
  }

  section.cnt-box.participate .cnt-block h2.cnt-block-ttl {
    width: 50%;
  }

  section.cnt-box.participate .cnt-block h2.cnt-block-ttl::after {
    width: 30%;
    right: -51%;
    bottom: unset;
    top: -185%;
  }

  section.cnt-box.booth .cnt-block h2.cnt-block-ttl::after {
    background-image: url(../img/booth-ttl-deco02-1.svg);
    background-size: contain;
    width: 25%;
    top: -155%;
    right: -30%;
  }

  .booth-block.first::after {
      width: 37%;
      left: 33%;
      bottom: 0;
      aspect-ratio: 232 / 308;
      height: unset;
      background: url(../img/booth-block-first.svg) no-repeat center bottom / contain;
  }

  .booth-block.third {
    padding-bottom: 15%;
  }

  .booth-block.third::after {
    width: 18%;
    right: 40%;
  }

  .booth-block.fourth {
    padding-bottom: 15%;
  }

  .booth-block.fourth::after {
    width: 22%;
  }
  .booth-box::after {
    display: none;
  }

  a.green-btn2 {
    width: 100%;
    padding: 5%;
    margin-top: 10%;
  }

  p.access-txt1 {
    font-size: 28px;
  }

  section.cnt-box.access {
    padding-top: 20%;
    padding-bottom: 10%;
  }

  figure.access-map-box iframe {
    border-radius: 10px;
  }

  .black_btn {
    width: 90%;
  }

  .info-txt {
      font-size: 36px;
      line-height: 2.0;
  }

  .black_btn {
    font-size: 28px;
  }

  .shimane-toroku-info {
    padding: 10% 5%;
  }

  .out-prefect-table table.event-table.first {
    border-top: none;
  }

  table.table-txt-green-box tbody tr {
    flex-wrap: wrap;
    gap: unset;
    margin-bottom: 1.5%;
  }

  table.table-txt-green-box tbody tr th,
  table.table-txt-green-box tbody tr td {
    width: 100%;
  }

  .table-txt-green {
    margin-top: 8%;
  }

  a.green-btn3 {
    width: 90%;
    background-color: #000000;
  }

  figure.footer-image-box2 {
    width: 80%;
    margin: 0 auto;
    margin-bottom: 3%;
  }

  .decorate-style02::before {
    background-image: url(../img/access-deco03-1.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    width: 20%;
    left: 0%;
    top: 13%;
    aspect-ratio: 86 / 33;
  }

  .decorate-style02::after {
    display: none;
  }

  section.cnt-box.access::before {
    top: 5%;
  }

  .out-prefect-info::before {
    left: -6%;
    top: -6%;
  }

  .decorate-style::after {
    display: none;
  }

  .decorate-style::before {
    width: 20%;
    left: unset;
    right: 0%;
    bottom: unset;
    top: -140%;
  }

  .footer-image-box::after {
    background-image: url(../img/booth-box-after.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    width: 35%;
    top: -55%;
    right: -55%;
    aspect-ratio: 337 / 209;
    z-index: 0;
  }

  .footer-image-box::before {
    left: -55%;
    top: -100%;
    width: 35%;
  }

  footer.footer-box {
    padding-bottom: 40%;
    padding-top: 15%;
  }

  p.footer-adress::before {
    background-image: url(../img/footer-image02-1.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    width: 55%;
    top: 300%;
    left: 23%;
    aspect-ratio: 317 / 220;
  }

  .toroku-info-cnt {
    background-color: #fff;
    padding: 5%;
    border-radius: 35px;
  }

  .btn-box {
    flex-wrap: wrap;
  }

  .btn-box a {
    width: 100%;
  }

  .toroku-info-cnt {
    padding: 7% 5%;
  }

  .btn-box a:nth-child(1) {
    margin-bottom: 5%;
  }

  a.toroku-info-btn {
    width: 60%;
  }

  section.cnt-box.event .cnt-block h2.cnt-block-ttl::after {
    top: -85%;
  }

  section.cnt-box.time-table {
    padding: 10% 0;
  }

  section.cnt-box.time-table .cnt-block h2.cnt-block-ttl::after {
    display: none;
  }

  section.cnt-box.time-table::before {
    left: unset;
    right: 0%;
  }
  section.cnt-box.time-table::after {
    right: unset;
    left: 0%;
  }
  section.cnt-box.time-table .cnt-block h2.cnt-block-ttl {
    width: 50%;
  }

  .company-list-box ul li a {
    height: 86px;
  }

  .cnt-box.preparation .cnt-block h2.cnt-block-ttl::after {
    display: none;
  }

  .preparation-cnt-btn {
    width: 70%;
    margin-top: 10%;
    margin-bottom: 3%;
  }

  .cnt-box.preparation {
    padding-bottom: 10%;
  }

  .header-cnt ul.header-pc-menu {
    display: none;
  }

  nav.sp-menu {
    display: block;
  }

  /* ハンバーガーボタン */
  .hamburger {
    width: 70px;
    height: 70px;
    background: #000;
    border-radius: 50%;
    position: fixed;
    top: 20px;
    right: 20px;
    cursor: pointer;
    z-index: 1000;
    display: flex !important;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  .hamburger p {
    font-size: 10px;
    position: absolute;
    display: inline-block;
    bottom: 10%;
    color: #fff;
    margin: unset;
    font-family: "MV Boli", cursive;
  }

  .hamburger.active p.menu-txt {
    display: none;
  }

  .hamburger p.close-txt {
    display: none;
  }

  .hamburger.active p.close-txt {
    display: block;
  }

  /* 三本線 */
  .hamburger span {
    width: 40px;
    height: 3px;
    background: #fff;
    margin: 3px 0;
    transition: 0.3s;
    transform-origin: center;
    display: inline-block;
  }

  .hamburger span:nth-child(3) {
    margin-bottom: 15px;
  }

  /* ×に変形 */
  .hamburger.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }

  .hamburger.active span:nth-child(3) {
    transform: translateY(-11px) rotate(-45deg);
  }

  /* メニュー本体 */
  .sp-menu {
    position: fixed;
    top: 0;
    right: -100%; /* 初期は隠す */
    width: 100%;
    height: 100vh;
    background: #FFF8B0;
    transition: 0.3s;
    z-index: 999;
    padding-top: 80px;
  }

  /* 開いた状態 */
  .sp-menu.active {
    right: 0;
    padding-bottom: 40%;
  }

  .sp-menu.active::after {
    background-image: url(../img/header-sp-menu.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    width: 30%;
    right: 5%;
    aspect-ratio: 216 / 167;
    transform: translate(-5%, 35%);
  }

  /* メニュー中身 */
  nav.sp-menu ul.header-sp-menu {
    display: block !important;
    list-style: none;
    padding: 0;
  }

  .header-sp-menu li {
    margin: 20px;
  }

  .header-sp-menu a {
    color: #000000;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    display: block;
    border-bottom: dotted 1px #000000;
    padding-bottom: 4%;
  }

  .header-sp-menu li:nth-child(7) a {
    border-bottom: none;
  }

  /* 背景スクロール禁止 */
  body.no-scroll {
    overflow: hidden;
  }

  /* メニューはスクロール可能にする */
  .sp-menu {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; /* iPhone対応 */
  }

  .header-sp-form-btn {
    display: block;
    background-color: var(--color-pink);
    color: #fff;
    padding: 3%;
    font-size: 20px;
    font-weight: bold;
    width: 65%;
    margin: 0 auto;
    margin-top: 3%;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
    border-radius: 10px;
  }

  .header-sp-menu li {
    margin: 2% 2% 4% 2%;
  }

  .header-pc-form-btn {
    display: none;
  }

  .back-to-top {
    width: 10%;
  }

  section.cnt-box.participate .cnt-block h2.cnt-block-ttl::before {
    display: none;
  }

  a.booth-link::after {
    width: 3%;
    right: 3%;
    top: 40%;
  }

  .black_btn::after {
    top: 40%;
  }

  .mv-cnt-block h1 {
    width: 60%;
  }

  .mv-cnt-block figure {
    margin-top: 25%;
    width: 30%;
  }

  .out-prefect-info h2.cnt-block-ttl2::before {
    left: 15%;
  }

  .out-prefect-info h2.cnt-block-ttl2::after {
    right: 15%;
  }

}

@media screen and (max-width: 727px) {
    section.cnt-box.event {
        margin-top: -15%;
    }
  }

/* フォントサイズ調整 */

@media screen and (max-width: 700px) {
  section.cnt-box.event .cnt-block h2.cnt-block-ttl {
    width: 300px;
  }
  section.cnt-box .cnt-block h2.cnt-block-ttl {
    font-size: 2rem;
  }
  table.event-table.first tbody tr td span.days {
      font-size: 3rem;
  }
  .btn-box {
    display: block;
  }
  .btn-box a {
    width: 100%;
    margin-bottom: 2rem;
    padding: 1.5rem;
  }
  .booth-block .type-pink {
    font-size: 28px;
  }
  p.booth-detail {
    font-size: 20px;
  }
  a.booth-link {
    font-size: 20px;
  }
  section.cnt-box.participate .cnt-block h2.cnt-block-ttl::before {
    left: -25%;
    width: 20%;
  }
  section.cnt-box .cnt-block h2.cnt-block-ttl2 {
    font-size: 2rem;
  }
  .toroku-info-txt {
    font-size: 2rem;
  }
  a.toroku-info-btn {
    font-size: 1.375rem;
  }

}

@media screen and (max-width: 660px) {
  section.cnt-box.event {
    padding-top: 28%;
    margin-top: -18%;
  }

  .bubble {
      margin-top: -19%;
  }


}

@media screen and (max-width: 650px) {
    a.green-btn3 {
        font-size: 20px;
    }
  }

@media screen and (max-width: 630px) {
    .company-list-box ul li a {
      font-size: 16px;
    }
    .preparation-cnt-box p.type-pink {
      font-size: 1.8rem;
    }
}

@media screen and (max-width: 600px) {
  section.cnt-box.event .cnt-block h2.cnt-block-ttl {
    width: 55%;
  }
  section.cnt-box.participate .cnt-block h2.cnt-block-ttl {
    width: 55%;
  }
  section.cnt-box .cnt-block h2.cnt-block-ttl {
    font-size: 1.75rem;
  }
  table.event-table.first tbody tr td span.days {
      font-size: 2rem;
  }
  .btn-box a {
    font-size: 1.5rem;
  }
  .bubble p {
    font-size: 22px;
  }

  section.cnt-box.participate .cnt-block h2.cnt-block-ttl::before {
      left: -40%;
      width: 30%;
  }
  section.cnt-box .cnt-block h2.cnt-block-ttl2 {
      font-size: 1.75rem;
  }
  figure.access-map-box iframe {
    height: 40vh;
  }

  p.access-txt1 {
      font-size: 22px;
  }
  p.access-txt2 {
      font-size: 20px;
  }

  .info-txt {
      font-size: 26px;
      line-height: 2.0;
  }

  .black_btn {
    font-size: 22px;
  }

  .toroku-info-txt {
    font-size: 1.5rem;
  }

  a.toroku-info-btn {
    font-size: 1.175rem;
  }

  .preparation-cnt-btn {
    font-size: 20px;
  }

}

@media screen and (max-width: 500px) {
  .bubble {
        margin-top: -20%;
  }
  .company-list-box ul li a {
    height: 120px;
  }

  a.green-btn2,
  a.green-btn3 {
    font-size: 22px;
  }

  p.footer-adress::before {
    top: 240%;
  }

  .sp-menu.active::after {
    width: 40%;
  }

  .mv-cnt-block {
      padding-top: 35%;
  }

}

@media screen and (max-width: 493px) {
  section.cnt-box.booth .cnt-block h2.cnt-block-ttl::after {
      top: -80%;
  }
}

@media screen and (max-width: 450px) {
  p.footer-adress::before {
    top: 200%;
  }
}

@media screen and (max-width: 435px) {
  .bubble {
      margin-top: -30%;
  }

  .mv-cnt-box {
    padding-bottom: 8rem;
  }


}

@media screen and (max-width: 425px) {
  .mv-cnt-block {
    padding-top: 40%;
  }

  .mv-cnt-box::after {
    width: 60%;
    top: 7%;
    right: 1%;
  }

  figure.mv-figure-block {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .header-cnt figure {
    width: 30%;
  }

  section.cnt-box .cnt-block h2.cnt-block-ttl {
    font-size: 1.5rem;
  }

  table.event-table.first tbody tr td span.days {
      font-size: 38px;
  }

  table.event-table.first tbody tr td span.days2 {
      font-size: 20px;
      padding: 0 5px 0 5px;
  }

  table.event-table.first tbody tr th.table-ttl, 
  table.event-table.second tbody tr th.table-ttl {
    font-size: 20px;
  }

  table.event-table.first tbody tr th, 
  table.event-table.first tbody tr td, 
  table.event-table.second tbody tr th, 
  table.event-table.second tbody tr td {
    font-size: 18px;
  }

  table.event-table.first tbody tr td.venue {
    font-size: 18px;
  }

  table.event-table.first tbody tr td a, 
  table.event-table.second tbody tr td a {
    font-size: 18px;
  }

  .bubble p {
    font-size: 20px;
  }

  section.cnt-box.event {
    margin-top: -20%;
    padding-top: 35%;
  }

  .company-list-box ul {
    grid-template-columns: repeat(2, 1fr);
  }

  .company-list-box ul li a {
    height: 100%;
  }

  .company-list-box ul li a {
    font-size: 10px;
    height: 50px;
  }
  .cnt-box.participate {
    padding-top: 15%;
  }
  .booth-block .type-pink {
    font-size: 22px;
  }
  .booth-block h3 span {
    font-size: 20px;
  }
  p.booth-detail {
    font-size: 18px;
  }
  a.booth-link {
    font-size: 16px;
    padding: 7% 10% 7% 0%;
    width: 100%;
  }

  a.booth-link::after {
    width: 4%;
    right: 6%;
  }

  .display-425 {
    display: block;
  }

  .booth-block.second {
    padding-bottom: 30%;
  }

  .booth-block.second::after {
    width: 20%;
    left: 37%;
  }

  .booth-block.third {
    padding-bottom: 20%;
  }

  .black_btn {
    padding: 7%;
  }

  figure.access-map-box iframe {
    height: 40vh;
  }

  section.cnt-box .cnt-block h2.cnt-block-ttl2 {
      font-size: 22px;
  }

  h2.cnt-block-ttl2::before {
    left: 10%;
  }

  h2.cnt-block-ttl2::after {
    right: 10%;
  }

  a.green-btn2,
  a.green-btn3 {
      font-size: 16px;
  }

  a.green-btn3 {
    padding: 5%;
  }

  p.access-txt1 {
      font-size: 20px;
  }
  p.access-txt2 {
      font-size: 18px;
  }
  .info-txt {
      font-size: 22px;
  }
  .black_btn {
      font-size: 18px;
  }
  .out-prefect-info h2.cnt-block-ttl2::before {
      left: 5%;
  }
  .out-prefect-info h2.cnt-block-ttl2::after {
      right: 5%;
  }
  figure.out-prefect-image {
    margin-top: 30px;
  }
  figure.short-term-work-btn {
    margin-top: 10%;
  }
  p.footer-adress {
    font-size: 12px;
  }
  .decorate-style::before {
    width: 30%;
  }

  p.footer-adress::before {
    top: 265%;
  }

  .toroku-info-txt {
    font-size: 1.275rem;
  }

  a.toroku-info-btn {
    font-size: 16px;
    width: 75%;
    padding: 7%;
  }

  p.preparation-cnt-txt {
    font-size: 1rem;
  }

  .preparation-cnt-box p.type-pink {
    font-size: 1.25rem;
  }

  .preparation-cnt-btn {
    font-size: 16px;
  }

  .sp-menu.active::after {
    width: 45%;
  }

  .btn-box a.pink-btn::after {
    width: 3%;
    right: 7%;
    top: 44%;
  }

  .btn-box a.green-btn::after {
    width: 3%;
    right: 7%;
    top: 44%;
  }

  .back-to-top {
    width: 20%;
  }

  .preparation-cnt-btn::after {
    width: 6%;
    right: 5%;
    top: 35%;
  }

  .preparation-cnt-btn {
    width: 100%;
    padding: 7%;
  }

  a.green-btn2::after {
    width: 3%;
    right: 8%;
  }

  .black_btn::after {
    top: 43%;
    width: 3%;
  }

  a.green-btn3::after {
    width: 3%;
    top: 40%;
  }

  section.cnt-box.time-table .cnt-block h2.cnt-block-ttl {
    width: 60%;
  }

  section.cnt-box.time-table .cnt-block h2.cnt-block-ttl::before {
    left: -40%;
  }

  h3.company-list-ttl {
    font-size: 20px;
  }

  section.cnt-box.access::before {
    top: 2%;
    left: 0%;
    width: 10%;
  }

  table.event-table.first tbody tr td span.days.plus {
    padding-left: 5px;
  }


}

@media screen and (max-width: 375px) {
  .company-list-box ul li a {
    padding-left: 5%;
  }
  .display-375 {
    display: block;
  }
}

@media screen and (max-width: 333px) {
  p.footer-adress::before {
    top: 210%;
  }
}