@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=M+PLUS+1:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

:root {
  --pageExpo_font_jpGothic01: "Noto Sans JP", sans-serif;
  --pageExpo_font_jpGothic02: "M PLUS 1", sans-serif;
  --pageExpo_font_engGothic02: "Josefin Sans", sans-serif;
}

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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquotebefore,
blockquoteafter,
qbefore,
qafter {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: inherit;
  color: inherit;
}

img {
  vertical-align: bottom;
}

button {
  background-color: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: auto;
  cursor: pointer;
}

@font-face {
  font-family: "ヒラギノ丸ゴ Std W4";
  font-weight: normal;
  src: local("Hiragino Maru Gothic Std W4");
}

body {
  position: relative;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #000;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media only screen and (min-width: 768px) {
  body {
    font-size: 16px;
  }
}

@media only screen and (max-width: 767px) {
  body {
    font-size: 14px;
    -webkit-tap-highlight-color: transparent;
  }
}

/* ----------------------------------------------
  共通
---------------------------------------------- */
/*--- display ----------*/
.dBl {
  display: block;
}

.dNo {
  display: none;
}

.dNoPc {
  /* PCのみnone */
  display: none;
}

@media screen and (max-width: 767px) {
  .dNoPc {
    /* PCのみnone */
    display: block;
  }

  .dNoMb {
    /* MBのみnone */
    display: none;
  }
}

/*--- common ----------*/
.txC {
  text-align: center;
}
.txR {
  text-align: right;
}

.container {
  position: relative;
  overflow: hidden;
}

.container-inner {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  background: #fff;
}

.color_red {
  color: #ff0000;
}

.color_blue {
  color: #163aef;
}

.anime {
  opacity: 0;
  transition: all 0.6s ease 0.2s;
}

.animation {
  opacity: 1;
}

@keyframes fadeIn {
  /*animetion-nameで設定した値を書く*/

  0% {
    opacity: 0;
  }

  /*アニメーション開始時は不透明度0%*/

  100% {
    opacity: 1;
  }

  /*アニメーション終了時は不透明度100%*/
}

.fadeIn02 {
  animation: fadeIn02 0.3s ease 0.6s 1 normal;
}

@keyframes fadeIn02 {
  /*animetion-nameで設定した値を書く*/

  0% {
    opacity: 0;
  }

  /*アニメーション開始時は不透明度0%*/

  100% {
    opacity: 1;
  }

  /*アニメーション終了時は不透明度100%*/
}

@media only screen and (min-width: 1080px) {
  .container-inner {
    max-width: 2560px;
  }
}

.fuwa {
  animation-name: fuwa;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-iteration-count: infinite;
  animation-duration: 1s;
}

@keyframes fuwa {
  0% {
    translate: 0 0px;
  }

  100% {
    translate: 0 -15px;
  }
}

@-webkit-keyframes blurFadeInOut {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.3);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
  }
}

@-webkit-keyframes blurFadeIn {
  0% {
    opacity: 0;
    text-shadow: 0px 0px 40px #fff;
    -webkit-transform: scale(1.3);
  }

  50% {
    opacity: 0.5;
    text-shadow: 0px 0px 10px #fff;
    -webkit-transform: scale(1.1);
  }

  100% {
    opacity: 1;
    text-shadow: 0px 0px 1px #fff;
    -webkit-transform: scale(1);
  }
}

@-webkit-keyframes fadeInBack {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
  }

  50% {
    opacity: 0.4;
    -webkit-transform: scale(2);
  }

  100% {
    opacity: 0.2;
    -webkit-transform: scale(5);
  }
}

@-webkit-keyframes fadeInRotate {
  0% {
    opacity: 0;
    -webkit-transform: scale(0) rotate(360deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
  }
}

.inner {
  max-width: 860px;
  padding: 40px 0 120px;
  margin: auto;
}

.btn_red {
  margin: 20px auto;
  padding: 20px;
  border-radius: 50px;
}

.btn_red {
  width: 100%;
  max-width: 450px;
  font-size: 20px;
  color: #fff;
  display: inline-block;
  position: relative;
  background: #e02d57;
  border: 4px solid #fff;
  transition: background 1s;
}

.btn_red:hover {
  background: #fff;
  border: 4px solid #e02d57;
  color: #e02d57;
}

.btn_red .arrow {
  width: 22px;
  height: 18px;
  fill: #fff;
  position: absolute;
  right: 30px;
  top: calc(50% - 9px);
}

.btn_red:hover .arrow {
  fill: #e02d57;
}

.areaDialogTrigger {
  display: block;
}
.areaDialogContents {
  overscroll-behavior-y: contain;
}
.areaDialogContents:has(.howto_entry) {
  border: 2px solid #fff;
}

.h2_ttl_block {
  padding: 35px 0;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background-color: #52599f;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8XzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDMzMi4wMyAyMzcuMzgiPiAgPGRlZnM+IDxzdHlsZT4gLnN0MCB7IGZpbGw6ICMyMzE4MTU7IH0gLnN0MSB7IGZpbGw6IG5vbmU7IH0gLnN0MiB7IGZpbGw6IHVybCgjXzEwX2RwaV8yMF8pOyBmaWxsLW9wYWNpdHk6IC4xOyBmaWxsLXJ1bGU6IGV2ZW5vZGQ7IH0gPC9zdHlsZT4gPHBhdHRlcm4gaWQ9Il8xMF9kcGlfMjBfIiBkYXRhLW5hbWU9IjEwIGRwaSAyMCUiIHg9IjAiIHk9IjAiIHdpZHRoPSIyOC44IiBoZWlnaHQ9IjI4LjgiIHBhdHRlcm5UcmFuc2Zvcm09InRyYW5zbGF0ZSgzMDkyLjQ4IDM0NDAuMjkpIHNjYWxlKDEuMzkpIiBwYXR0ZXJuVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB2aWV3Qm94PSIwIDAgMjguOCAyOC44Ij4gPGc+IDxyZWN0IGNsYXNzPSJzdDEiIHg9IjAiIHk9IjAiIHdpZHRoPSIyOC44IiBoZWlnaHQ9IjI4LjgiLz4gPGc+IDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yOC44LDMwLjI0Yy44LDAsMS40NC0uNjQsMS40NC0xLjQ0cy0uNjQtMS40NC0xLjQ0LTEuNDQtMS40NC42NC0xLjQ0LDEuNDQuNjQsMS40NCwxLjQ0LDEuNDRaIi8+IDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNC40LDMwLjI0Yy44LDAsMS40NC0uNjQsMS40NC0xLjQ0cy0uNjUtMS40NC0xLjQ0LTEuNDQtMS40NC42NC0xLjQ0LDEuNDQuNjQsMS40NCwxLjQ0LDEuNDRaIi8+IDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yOC44LDE1Ljg0Yy44LDAsMS40NC0uNjUsMS40NC0xLjQ0cy0uNjQtMS40NC0xLjQ0LTEuNDQtMS40NC42NC0xLjQ0LDEuNDQuNjQsMS40NCwxLjQ0LDEuNDRaIi8+IDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNC40LDE1Ljg0Yy44LDAsMS40NC0uNjUsMS40NC0xLjQ0cy0uNjUtMS40NC0xLjQ0LTEuNDQtMS40NC42NC0xLjQ0LDEuNDQuNjQsMS40NCwxLjQ0LDEuNDRaIi8+IDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik03LjIsMjMuMDRjLjc5LDAsMS40NC0uNjQsMS40NC0xLjQ0cy0uNjUtMS40NC0xLjQ0LTEuNDQtMS40NC42NC0xLjQ0LDEuNDQuNjQsMS40NCwxLjQ0LDEuNDRaIi8+IDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMS42LDIzLjA0Yy44LDAsMS40NC0uNjQsMS40NC0xLjQ0cy0uNjUtMS40NC0xLjQ0LTEuNDQtMS40NC42NC0xLjQ0LDEuNDQuNjQsMS40NCwxLjQ0LDEuNDRaIi8+IDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik03LjIsOC42NGMuNzksMCwxLjQ0LS42NCwxLjQ0LTEuNDRzLS42NS0xLjQ0LTEuNDQtMS40NC0xLjQ0LjY0LTEuNDQsMS40NC42NCwxLjQ0LDEuNDQsMS40NFoiLz4gPHBhdGggY2xhc3M9InN0MCIgZD0iTTIxLjYsOC42NGMuOCwwLDEuNDQtLjY0LDEuNDQtMS40NHMtLjY1LTEuNDQtMS40NC0xLjQ0LTEuNDQuNjQtMS40NCwxLjQ0LjY0LDEuNDQsMS40NCwxLjQ0WiIvPiA8L2c+IDxnPiA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMCwzMC4yNGMuNzksMCwxLjQ0LS42NCwxLjQ0LTEuNDRzLS42NC0xLjQ0LTEuNDQtMS40NC0xLjQ0LjY0LTEuNDQsMS40NC42NCwxLjQ0LDEuNDQsMS40NFoiLz4gPHBhdGggY2xhc3M9InN0MCIgZD0iTTAsMTUuODRjLjc5LDAsMS40NC0uNjUsMS40NC0xLjQ0cy0uNjQtMS40NC0xLjQ0LTEuNDQtMS40NC42NC0xLjQ0LDEuNDQuNjQsMS40NCwxLjQ0LDEuNDRaIi8+IDwvZz4gPGc+IDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yOC44LDEuNDRjLjgsMCwxLjQ0LS42NCwxLjQ0LTEuNDRzLS42NC0xLjQ0LTEuNDQtMS40NC0xLjQ0LjY0LTEuNDQsMS40NC42NCwxLjQ0LDEuNDQsMS40NFoiLz4gPHBhdGggY2xhc3M9InN0MCIgZD0iTTE0LjQsMS40NGMuOCwwLDEuNDQtLjY0LDEuNDQtMS40NHMtLjY1LTEuNDQtMS40NC0xLjQ0LTEuNDQuNjQtMS40NCwxLjQ0LjY0LDEuNDQsMS40NCwxLjQ0WiIvPiA8L2c+IDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0wLDEuNDRjLjc5LDAsMS40NC0uNjQsMS40NC0xLjQ0Uy43OS0xLjQ0LDAtMS40NC0xLjQ0LS44LTEuNDQsMC0uOCwxLjQ0LDAsMS40NFoiLz4gPC9nPiA8L3BhdHRlcm4+IDwvZGVmcz4gPHBhdGggaWQ9ImgyX3R0bF9iZzAxLnN2ZyIgY2xhc3M9InN0MiIgZD0iTTIwNC45MSwxODYuNjJjLTEzLjQ0LTguMzEtMjYuMDctMTkuOTktNDIuMTUtMTEtMTUuMyw4LjU2LTIwLjkxLDI2LjExLTMxLjI5LDM5LjUxLTYuMSw3Ljg4LTEzLjU4LDE0LjQ2LTIyLjY2LDE4LjIyLTEwLjYzLDQuNC0yMi4yMSw0LjUzLTMzLjQ1LDMuNTJDMjMuOTksMjMyLjI2LTExLjcsMTU3LjExLDMuNTQsMTA3Ljc1LDE5Ljg5LDU0Ljc1LDY4LjQ0LDE2Ljc2LDExOC45NSw0LjdjNDAuMzgtOS42OSw4Mi45Mi00LjIxLDExOS41MywxNS40LDIyLjYsMTIuMDUsNDIuMDEsMjguNzIsNTkuODcsNDcuNC4wMS4wMSw4Mi4yOCw4Ni4wMi0xMC4zNSwxMzguNTgtNy43Nyw0LjQxLTE2LjY2LDYuMS0yNS40Niw1LjkzLTEwLjE1LS4yLTIwLjEyLTIuOTktMjkuMzgtNy4yNC0xMC4xNy00LjY3LTE4Ljc1LTEyLjI4LTI4LjI0LTE4LjE1WiIvPjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-size: 332px 237px;
  background-position: 155px -30px;
  position: relative;
}

.h2_ttl_block::before {
  content: "";
  width: 280px;
  height: 140px;
  background: #52599f;
  border-radius: 50% / 100% 100% 0 0;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}

.h2_ttl_block .ttl_sub_txt {
  display: block;
  font-size: 1rem;
  position: relative;
}

.h2_ttl_block .ttl {
  display: inline-block;
  margin-top: 5px;
  font-size: min(8vw, 2.8rem);
  position: relative;
}

.h2_ttl_block .ttl::before,
.h2_ttl_block .ttl::after {
  content: "";
  display: block;
  width: 20px;
  height: 27px;
  background: url(../img/expo/ttl_deco.svg) center top / cover no-repeat;
  position: absolute;
  top: 50%;
  left: -30px;
  transform: translateY(-50%);
}

.h2_ttl_block .ttl::after {
  left: auto;
  right: -30px;
  transform: translateY(-50%) scale(-1, 1);
}

#pageTop {
  z-index: 90;
}

#pageTop {
  position: fixed;
  right: 3%;
  bottom: 10%;
  display: block;
  line-height: 1.8;
}

#pageTop a {
  position: relative;
  display: block;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  font-size: 100%;
  width: 50px;
  height: 50px;
  background: #f76469;
  border-radius: 100%;
}

#pageTop a:before {
  content: "";
  width: 15px;
  height: 15px;
  border: 0px;
  border-top: 5px solid #fff;
  border-right: 5px solid #fff;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 44%;
  left: 28%;
  margin: -2px 2px;
}

.coming_soon {
  margin: 60px 0 0;
  text-align: center;
}

.cont_ttl {
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.1em;
}

.cont_ttl span:not(.noDialogue) {
  position: relative;
  display: inline-block;
}

.cont_ttl span:not(.noDialogue)::before,
.cont_ttl span:not(.noDialogue)::after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: #000;
  position: absolute;
  top: 0;
}

.cont_ttl span::before {
  left: -20px;
  transform: rotate(-20deg);
}

.cont_ttl span::after {
  right: -20px;
  transform: rotate(20deg);
}

.cont_txt {
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-size: 0.9rem;
  margin: 30px 0;
}

.coming_soon_txt {
  font-style: italic;
  width: 10em;
  margin: auto;
  padding: 10px 20px;
  color: #FFF;
  font-size: 2.0rem;
  font-weight: bold;
  position: relative;
  z-index: 1;
}

.coming_soon_txt::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: #000;
  transform: skewX(-30deg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.txt_pink {
  color: #e02d57;
}
.txt_green {
  color: #9aba08;
}
.txt_yellow {
  color: #fbc41b;
}
.txt_orange {
  color: #f5aa26;
}

.dialogue_txt__quote {
  position: relative;
  display: inline-block;
}
[class*=dialogue_txt][class*=__quote]:before,
[class*=dialogue_txt][class*=__quote]:after {
  position: absolute;
  content: "／";
}
[class*=dialogue_txt][class*=__quote]:before {
  bottom: 0;
  left: 0;
    transform: translate(calc(-100% - 1rem), 0) scale(-1, 1);
}
[class*=dialogue_txt][class*=__quote]:after {
  bottom: 0;
  right: 0;
    transform: translate(calc(100% + 1rem), 0);
}

*:has( > wbr ) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* Swiperスライダーの速度を一定にするCSS記述 */
.slideSideBySideItem.slideSpeedUniform .swiper-wrapper {
  transition-timing-function: linear;
}


@media only screen and (max-width: 767px) {
  img {
    max-width: 100%;
  }

  .inner {
    padding: 20px 20px 60px;
  }

  .h2_ttl_block {
    padding: 15px 0;
    background-size: 80vw 57vw;
    background-position: top 20% left -170%;
  }

  .h2_ttl_block .ttl {
    margin-top: 0;
  }

  .h2_ttl_block::before {
    width: 200px;
    height: 100px;
  }

  .btn_red {
    font-size: 0.9rem;
    width: calc(100% - 40px);
    padding: 10px 20px;
    border-radius: 46px;
  }

  .btn_red .arrow {
    width: 18px;
    height: 16px;
    right: 20px;
  }

  #pageTop {
    bottom: 5%;
  }

  .cont_ttl span,
  .cont_ttl span:not(.noDialogue) {
    display: inline;
  }
  .cont_ttl span:not(.noDialogue) {
    background: linear-gradient(0deg, rgba(255,255,0, 0.5) 50%, rgba(0,0,0, 0) 50%);
  }
  .cont_ttl span::before,
  .cont_ttl span::after,
  .cont_ttl span:not(.noDialogue)::before,
  .cont_ttl span:not(.noDialogue)::after {
    content: none;
  }
  .cont_ttl span::before {
    left: -30px;
  }

  .cont_ttl span::after {
    right: -30px;
  }

  .coming_soon {
    margin-bottom: 20px;
  }

  .coming_soon_txt {
    width: 8.5em;
    font-size: 1.8rem;
  }
}

/* -------------------------------------------------------------

      #header ヘッダー

---------------------------------------------------------------- */
header {
  width: 100%;
  max-width: 700px;
  background: #fff;
  border-radius: 50% / 0 0 100% 100%;
  position: absolute;
  top: -185px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.header_inner {
  padding-top: 50%;
}

header .logo {
  display: inline;
  position: absolute;
  left: 50%;
  bottom: 25%;
  transform: translateX(-50%);
}

header .ribbon_20th {
  position: absolute;
  left: 50%;
  bottom: -80px;
  transform: translateX(-50%);
}

@media only screen and (max-width: 767px) {
  header {
    width: 90%;
    top: -90px;
  }

  header .logo {
    bottom: 22%;
  }

  header .ribbon_20th {
    width: 75%;
    bottom: -50px;
  }
}

/* -------------------------------------------------------------

      #expo_main_mv MV

---------------------------------------------------------------- */
#expo_main_mv {
  background: #009fde;
  color: #fff;
  padding-top: 180px;
}

#expo_main_mv .inner {
  position: relative;
  max-width: 781px;
  margin: auto;
  padding-bottom: 0;
}

#expo_main_mv .ttl_expo {
  margin-bottom: 20px;
}

#expo_main_mv .ttl_illust01 {
  position: absolute;
  top: 153px;
  left: -115px;
}

#expo_main_mv .ttl_illust02 {
  position: absolute;
  top: 72px;
  right: -15px;
   animation-delay: 1.2s;
}

#expo_main_mv .ttl_illust03 {
  position: absolute;
  top: 315px;
  right: -125px;
   animation-delay: 0.45s;
}

#expo_main_mv .date {
  text-align: center;
}

#expo_main_mv .place {
  text-align: center;
}

#expo_main_mv .place_list {
  margin-top: 30px;
  color: #fff;
  font-weight: bold;
  font-size: 1.7rem;
}

#expo_main_mv .place_list>* {
  display: inline;
}

#expo_main_mv .place_list dt {
  border: 1px solid #fff;
  padding: 0px 5px;
  margin-right: 15px;
}

#expo_main_mv .mv_point_list {
  display: flex;
  justify-content: center;
  gap: min(3vw, 1rem);
  margin-block: min(6vw, 4rem) min(6vw, 2rem);
}
#expo_main_mv .mv_point_list > .mv_point {
  background: #fff;
  border: 2px solid #fff;
  border-radius: 100vmax;
  color: #000;
  font-size: min(4vw, 1.25rem);
  font-weight: 700;
  text-align: center;
  padding: 0 min(3vw, 1.5rem);
}

#expo_main_mv .entry_btn {
  margin: 20px 0;
}

#expo_main_mv .bg-parts01 {
  width: 1000px;
  height: 840px;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDEwMDAuNzYgODQwLjQ2Ij4gIDxkZWZzPiA8c3R5bGU+IC5zdDAgeyBmaWxsOiB1cmwoI18xMF9kcGlfMjBfMik7IGZpbGwtcnVsZTogZXZlbm9kZDsgfSAuc3QxIHsgZmlsbDogbm9uZTsgfSAuc3QyIHsgZmlsbDogIzAwOGZjNzsgfSA8L3N0eWxlPiA8cGF0dGVybiBpZD0iXzEwX2RwaV8yMF8yIiBkYXRhLW5hbWU9IiAxMCBkcGkgMjAgMiIgeD0iMCIgeT0iMCIgd2lkdGg9IjI4LjgiIGhlaWdodD0iMjguOCIgcGF0dGVyblRyYW5zZm9ybT0idHJhbnNsYXRlKDE2OTAuMTUgLTE4MDU3LjIyKSBzY2FsZSgxLjI2IC0xLjI2KSIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgdmlld0JveD0iMCAwIDI4LjggMjguOCI+IDxnPiA8cmVjdCBjbGFzcz0ic3QxIiB3aWR0aD0iMjguOCIgaGVpZ2h0PSIyOC44Ii8+IDxnPiA8cmVjdCBjbGFzcz0ic3QxIiB3aWR0aD0iMjguOCIgaGVpZ2h0PSIyOC44Ii8+IDxnPiA8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMjguOC0xLjQ0Yy44LDAsMS40NC42NCwxLjQ0LDEuNDRzLS42NCwxLjQ0LTEuNDQsMS40NC0xLjQ0LS42NC0xLjQ0LTEuNDQuNjQtMS40NCwxLjQ0LTEuNDRaIi8+IDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xNC40LTEuNDRjLjgsMCwxLjQ0LjY0LDEuNDQsMS40NHMtLjY1LDEuNDQtMS40NCwxLjQ0LTEuNDQtLjY0LTEuNDQtMS40NC42NC0xLjQ0LDEuNDQtMS40NFoiLz4gPHBhdGggY2xhc3M9InN0MiIgZD0iTTI4LjgsMTIuOTZjLjgsMCwxLjQ0LjY1LDEuNDQsMS40NHMtLjY0LDEuNDQtMS40NCwxLjQ0LTEuNDQtLjY0LTEuNDQtMS40NC42NC0xLjQ0LDEuNDQtMS40NFoiLz4gPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0LjQsMTIuOTZjLjgsMCwxLjQ0LjY1LDEuNDQsMS40NHMtLjY1LDEuNDQtMS40NCwxLjQ0LTEuNDQtLjY0LTEuNDQtMS40NC42NC0xLjQ0LDEuNDQtMS40NFoiLz4gPHBhdGggY2xhc3M9InN0MiIgZD0iTTcuMiw1Ljc2Yy43OSwwLDEuNDQuNjQsMS40NCwxLjQ0cy0uNjUsMS40NC0xLjQ0LDEuNDQtMS40NC0uNjQtMS40NC0xLjQ0LjY0LTEuNDQsMS40NC0xLjQ0WiIvPiA8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMjEuNiw1Ljc2Yy44LDAsMS40NC42NCwxLjQ0LDEuNDRzLS42NSwxLjQ0LTEuNDQsMS40NC0xLjQ0LS42NC0xLjQ0LTEuNDQuNjQtMS40NCwxLjQ0LTEuNDRaIi8+IDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik03LjIsMjAuMTZjLjc5LDAsMS40NC42NCwxLjQ0LDEuNDRzLS42NSwxLjQ0LTEuNDQsMS40NC0xLjQ0LS42NC0xLjQ0LTEuNDQuNjQtMS40NCwxLjQ0LTEuNDRaIi8+IDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0yMS42LDIwLjE2Yy44LDAsMS40NC42NCwxLjQ0LDEuNDRzLS42NSwxLjQ0LTEuNDQsMS40NC0xLjQ0LS42NC0xLjQ0LTEuNDQuNjQtMS40NCwxLjQ0LTEuNDRaIi8+IDwvZz4gPGc+IDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0wLTEuNDRjLjc5LDAsMS40NC42NCwxLjQ0LDEuNDRTLjgsMS40NCwwLDEuNDQtMS40NC44LTEuNDQsMC0uOC0xLjQ0LDAtMS40NFoiLz4gPHBhdGggY2xhc3M9InN0MiIgZD0iTTAsMTIuOTZjLjc5LDAsMS40NC42NSwxLjQ0LDEuNDRzLS42NCwxLjQ0LTEuNDQsMS40NC0xLjQ0LS42NC0xLjQ0LTEuNDQuNjQtMS40NCwxLjQ0LTEuNDRaIi8+IDwvZz4gPGc+IDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0yOC44LDI3LjM2Yy44LDAsMS40NC42NCwxLjQ0LDEuNDRzLS42NCwxLjQ0LTEuNDQsMS40NC0xLjQ0LS42NC0xLjQ0LTEuNDQuNjQtMS40NCwxLjQ0LTEuNDRaIi8+IDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xNC40LDI3LjM2Yy44LDAsMS40NC42NCwxLjQ0LDEuNDRzLS42NSwxLjQ0LTEuNDQsMS40NC0xLjQ0LS42NC0xLjQ0LTEuNDQuNjQtMS40NCwxLjQ0LTEuNDRaIi8+IDwvZz4gPHBhdGggY2xhc3M9InN0MiIgZD0iTTAsMjcuMzZjLjc5LDAsMS40NC42NCwxLjQ0LDEuNDRzLS42NSwxLjQ0LTEuNDQsMS40NC0xLjQ0LS42NC0xLjQ0LTEuNDQuNjQtMS40NCwxLjQ0LTEuNDRaIi8+IDwvZz4gPC9nPiA8L3BhdHRlcm4+IDwvZGVmcz4gPHBhdGggaWQ9Im1haW5fbXZfYmdfZG90MDEuc3ZnIiBjbGFzcz0ic3QwIiBkPSJNMTMxLjI1LDQxMi4wN2MxLjQ3LS40NCwyLjkxLTEuMDIsNC40LTEuMzksMTU2LjMtMzguNjMsMTU2LjY2LTE0NS44MSwxNjQuNTItMjA5LjgyLDYuODEtNTUuNDUsMjcuNzktMTA3LjkxLDcxLjI1LTE0NS4zNywxMDUtOTAuNDgsMjg5LjQ5LTYyLjg4LDM4NC43LDI5LjIxLDY1Ljg5LDYzLjczLDg2LjQxLDE1Ni4xMSw4Mi44LDI0NC44My0xLjMzLDMyLjYzLTUuMDYsNjIuNTEsMS43LDk1LjMzLDUuOTMsMjguNzYsMTcuMjgsNTYuNDcsMzQuOCw4MC4yMSwyOS40NywzOS45Miw4NC43NSw1NC44MSwxMTEuNTMsOTcuNTUsMjYuMTksNDEuNzgsMTAuMzUsOTQuOTMtOC40OSwxMzYuMjQtMzguMzIsODQtMTMwLjQyLDEyMS41NC0yMTcuMzcsOTEuMTItNDkuNTUtMTcuMzMtMTEwLjE1LTU1LjU5LTE0MS40Mi05OC41Ny0yMS4wNi0yOC45NS00OS42Ni01NC40Mi03OS42LTczLjgzLTM0LjA4LTIyLjA5LTc0Ljg3LTM0Ljg0LTExNS43My0zMi4zOC00My44NSwyLjY0LTE0Ny4xOCw1OC45NS0xODguNiw3Mi4yNy04MS44OCwyNi4zMy0xOTAuNDcsMTYuNTEtMjI0LjMxLTc1LjIzLTMyLjQ4LTg4LjA1LDUuNTYtMTc5LjQ4LDk5LjE2LTIwNC42NCw2Ljg5LTEuODUsMTMuODMtMy40OSwyMC42NS01LjUzaC4wMVoiLz48L3N2Zz4=");
  position: absolute;
  top: -60%;
  right: -25%;
  z-index: -1;
}

#expo_main_mv .bg-parts02,
#expo_main_mv .bg-parts03 {
  width: 519px;
  height: 435px;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8XzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNTE5LjU4IDQzNS42NyI+ICA8ZGVmcz4gPHN0eWxlPiAuc3QwIHsgZmlsbDogI2ZmZjsgZmlsbC1ydWxlOiBldmVub2RkOyBpc29sYXRpb246IGlzb2xhdGU7IG9wYWNpdHk6IC4yOyB9IDwvc3R5bGU+IDwvZGVmcz4gPHBhdGggaWQ9Im1haW5fbXZfYmdfYmx1ZTAxLnN2ZyIgY2xhc3M9InN0MCIgZD0iTTY4LjEzLDIxMy42MWMuNzYtLjIzLDEuNTEtLjUzLDIuMjktLjcyLDgxLjE1LTIwLjAyLDgxLjM0LTc1LjU5LDg1LjQyLTEwOC43NywzLjU0LTI4Ljc0LDE0LjQzLTU1Ljk0LDM2Ljk5LTc1LjM2LDU0LjUxLTQ2LjksMTUwLjMxLTMyLjYsMTk5Ljc0LDE1LjE0LDM0LjIxLDMzLjA0LDQ0Ljg2LDgwLjkzLDQyLjk5LDEyNi45Mi0uNjksMTYuOTItMi42MiwzMi40MS44OSw0OS40MiwyLjk0LDE1LDkuMTEsMjkuMTksMTguMDcsNDEuNTgsMTUuMywyMC43LDQ0LDI4LjQxLDU3LjkxLDUwLjU3LDEzLjYsMjEuNjYsNS4zNyw0OS4yMS00LjQxLDcwLjYyLTE5LjksNDMuNTQtNjcuNzEsNjMtMTEyLjg2LDQ3LjI0LTI1LjcyLTguOTgtNTcuMTktMjguODItNzMuNDItNTEuMS0xMC45NC0xNS4wMS0yNS43OC0yOC4yMS00MS4zMy0zOC4yNy0xNy43LTExLjQ1LTM4Ljg3LTE4LjA2LTYwLjA5LTE2Ljc5LTIyLjc3LDEuMzctNzYuNDIsMzAuNTYtOTcuOTIsMzcuNDYtNDIuNTEsMTMuNjUtOTguODksOC41Ni0xMTYuNDYtMzktMTYuODYtNDUuNjUsMi44OS05My4wNCw1MS40OS0xMDYuMDgsMy41Ny0uOTUsNy4xNy0xLjgsMTAuNzItMi44NloiLz48L3N2Zz4=");
  position: absolute;
  top: -4%;
  left: -52%;
  z-index: -1;
}

#expo_main_mv .bg-parts03 {
  top: auto;
  left: auto;
  right: -45%;
  bottom: -10%;
}

#expo_main_mv .greeting {
  position: relative;
  margin-top: 30px;
  line-height: 1.8;
  letter-spacing: 0.1em;
  padding-block: 22.5% 8%;
}
#expo_main_mv .greeting:before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 4%);
  width: 100vw;
  height: 100%;
  content: "";
  background: url(../img/expo/bg_white.png) center top / contain no-repeat;
}
#expo_main_mv .greeting:after {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -2.5%);
  content: "";
  width: min(27.5vw, 12.5rem);
  height: auto;
  aspect-ratio: 1 / 1;
  background: url(../img/expo/bg_white_illust.png) center / contain no-repeat;
  animation: fuwa 1s linear 0s infinite alternate running;
}

#expo_main_mv .greeting_ttl {
  position: relative;
  color: #52599f;
  font-weight: bold;
  font-size: min(6vw, 2.25rem);
  text-align: center;
  margin-bottom: 20px;
  z-index: 2;
}

#expo_main_mv .greeting_txt {
  position: relative;
  font-weight: 700;
  color: #52599f;
  z-index: 2;
}


@media only screen and (max-width: 767px) {
  #expo_main_mv {
    padding-top: 125px;
  }

  #expo_main_mv .inner {
    padding: 0 20px;
  }

  #expo_main_mv .ttl_expo {
    width: 95%;
    margin: auto;
    margin-bottom: 25px;
  }

  #expo_main_mv .date {
    width: 50%;
    margin: auto;
  }

  #expo_main_mv .ttl_expo.anime {
    transform: rotate(0deg);
    transition: top 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s,
      left 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s,
      transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 1.3s;
  }

  #expo_main_mv .ttl_expo.animation {
    transform: rotate(0deg);
    top: 10%;
    left: 33.33%;
    transition: top 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s,
      left 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s,
      transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 1.3s;
  }

  #expo_main_mv .place_list {
    font-size: 1.1rem;
  }

  #expo_main_mv .place_list dt {
    margin-right: 5px;
  }

  #expo_main_mv .ttl_illust01 {
    width: 12%;
    top: 11%;
    left: 2%;
  }

  #expo_main_mv .ttl_illust02 {
    width: 12%;
    top: 0.8%;
    right: 4%;
  }

  #expo_main_mv .ttl_illust03 {
    width: 25%;
    top: 11%;
    right: -3%;
  }

  #expo_main_mv .bg-parts01 {
    width: 90vw;
    height: 76vw;
    top: -18%;
    left: 5%;
  }

  #expo_main_mv .bg-parts02 {
    width: 50vw;
    height: 42vw;
    top: 5%;
    left: -25%;
  }

  #expo_main_mv .bg-parts03 {
    width: 50vw;
    height: 42vw;
    right: -10%;
    bottom: 5%;
  }

  #expo_main_mv .greeting:before {
   background: 
    url(../img/expo/bg_white.png) center top / contain no-repeat,
    linear-gradient(0deg, #fff 70%, rgba(0,0,0, 0) 70%)
   ;
  }
  #expo_main_mv .mv_point_list {
    flex-wrap: wrap;
  }
}

/* -------------------------------------------------------------

      #special_event 3大スペシャル企画！

---------------------------------------------------------------- */

#special_event .inner {
  padding: 20px 20px 10px;
}
#special_event .titlebox {
  text-align: center;
}
#special_event .titlebox .dialogue_title {
  width: fit-content;
  font-size: min(5.5vw, 1.5rem);
  font-weight: 700;
  color: #52599f;
  margin-inline: auto;
}
#special_event .titlebox .title {
  font-size: min(8vw, 3.85rem);
  font-weight: 900;
  color: #fbc41b;
}
#special_event .titlebox .title > .num {
  font-size: 1.5em;
}

#special_event .special_event_databox {
  --spEvent_clmSpace: min(6vw, 2.5rem);
  --spEvent_rowSpace: min(6vw, 3.5rem);
  display: flex;
  flex-wrap: wrap;
  gap: var(--spEvent_rowSpace) var(--spEvent_clmSpace);
  counter-reset: specialEventCounter 0;
  margin-block: min(10vw, 2.5rem) 0;
}
#special_event .special_event_databox > [class^="databox_box"] {
  position: relative;
  width: var(--custom_wide, calc(100% / var(--spEvent_clmWide, 2) - var(--spEvent_clmSpace) / var(--spEvent_clmWide, 2) * (var(--spEvent_clmWide, 2) - 1)) );
  display: flex;
  flex-direction: column;
  counter-increment: specialEventCounter 1;
  border-radius: min(6vw, 2.5rem);
  background: var(--eventColor);
  box-sizing: border-box;
  padding: min(6vw, 2.5rem) min(3vw, 2.5rem);
}
#special_event .special_event_databox > [class^="databox_box"]:before,
#special_event .special_event_databox > [class^="databox_box"]:after {
  position: absolute;
  content: "";
  height: auto;
  aspect-ratio: 1 / 1;
  background: var(--event_bgIllust) center / contain no-repeat;
  animation: anime_rotate 3s linear 0s infinite normal forwards running;
}
#special_event .special_event_databox > [class^="databox_box"]:after {
  animation-direction: reverse;
}
@keyframes anime_rotate {
  0% {
    rotate: 0deg;
  }
  25% {
    rotate: -10deg;
  }
  75% {
    rotate: 10deg;
  }
  100% {
    rotate: 0deg;
  }
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_title"] {
  --icon_size: min(17.5vw, 5rem);
  position: relative;
  font-family: "M PLUS 1", sans-serif;
  color: #fff;
  font-weight: 500;
  width: fit-content;
  margin-inline: auto;
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_title"]:before {
  position: absolute;
  content: counter(specialEventCounter, decimal-leading-zero) ".";
  font-family: var(--pageExpo_font_engGothic02);
  font-size: min(10vw, 3rem);
  font-weight: 700;
  color: #fff;
  text-align: center;
  align-content: center;
  border-radius: 100vmax;
  background: #fbc41b;
  width: var(--icon_size);
  height: auto;
  aspect-ratio: 1 / 1;
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_title"] .titlebox_event {
  display: flex;
  flex-direction: column;
  gap: min(3vw, 1rem);
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_title"] .titlebox_event .balloon_title {
  position: relative;
  width: fit-content;
  border-radius: min(6vw, 1rem);
  border: 1px solid #fff;
  font-weight: 700;
  padding-block: min(1.5vw, 0.25rem);
  padding-inline: min(3vw, 1.5rem);
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_title"] .titlebox_event .balloon_title:before,
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_title"] .titlebox_event .balloon_title:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  content: "";
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  width: min(3vw, 1rem);
  height: auto;
  aspect-ratio: 1.5 / 1;
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_title"] .titlebox_event .balloon_title:before {
  transform: translate(-50%, 100%);
  background: #fff;
  z-index: 2;
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_title"] .titlebox_event .balloon_title:after {
  transform: translate(-50%, calc(100% - 1px));
  background: var(--eventColor);
  z-index: 3;
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_title"] .titlebox_event .event_title {
  font-size: min(7vw, 2.25rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 5px;
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_content"] {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  margin-block: min(6vw, 2.5rem) 0;
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_content"] .txtbox {
  color: #fff;
  line-height: 2;
  margin-block: 0 min(3vw, 1.5rem);
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_content"] .txtbox > .strong {
  display: block;
  font-size: min(4.5vw, 1.15rem);
  font-weight: 700;
  text-align: center;
  width: fit-content;
  margin-inline: auto;
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_content"] a.btn_anchor {
  display: block;
  color: var(--eventColor);
  font-size: min(4.5vw, 1.25rem);
  font-weight: 700;
  text-align: center;
  align-content: center;
  border: 2px solid color-mix(in srgb, var(--eventColor), #fff 90% );
  background: color-mix(in srgb, var(--eventColor), #fff 90% );
  border-radius: 100vmax;
  width: min(75%, 353px);
  margin-inline: auto;
  margin-block: auto 0;
  padding-block: min(3vw, 1rem);
  padding-inline: min(3vw, 2rem);
  transition: background .3s, color .3s;
}
#special_event .special_event_databox > [class^="databox_box"] > [class^="databox_content"] a.btn_anchor:hover {
  background: var(--eventColor);
  color: #fff;
}
/*個別*/
#special_event .special_event_databox > [class^="databox_box"]:nth-child(1) {
  --eventColor: #009fde;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(1):before {
  --event_bgIllust: url(../img/expo/special/point01_illust.png);
  width: min(15vw, 5rem);
  left: min(3vw, 1.5rem);
  transform: translate(0, 50%);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(1):after {
  --event_bgIllust: url(../img/expo/special/point01_illust2.png);
  width: min(15vw, 5rem);
  right: min(3vw, 1.5rem);
  transform: translate(0, 50%);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(1) > [class^="databox_title"] {
  text-align: center;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(1) > [class^="databox_title"]:before {
  top: 0;
  left: 0;
  transform: translate(-50%, -60%);
  z-index: 2;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(1) > [class^="databox_title"] .balloon_title {
  padding-left: min(10vw, 3rem);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(2) {
  --eventColor: #aed013;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(2):before {
  --event_bgIllust: url(../img/expo/special/point02_illust.png);
  width: min(15vw, 5rem);
  top: 27.5%;
  left: min(3vw, 1rem);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(2):after {
  --event_bgIllust: url(../img/expo/special/point02_illust2.png);
  width: min(15vw, 5rem);
  top: 30%;
  right: min(3vw, 1rem);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(2) > [class^="databox_title"]:before {
  top: 0;
  left: 0;
  transform: translate(-50%, -60%);
  z-index: 2;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(2) > [class^="databox_title"] .balloon_title {
  padding-left: min(10vw, 3rem);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(2) > [class^="databox_content"] .txtbox > .strong {
  color: #6c8090;
}

#special_event .special_event_databox > [class^="databox_box"]:nth-child(3) {
  --eventColor: #2fc8ca;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(3):before {
  --event_bgIllust: url(../img/expo/special/point04_illust.png);
  width: min(12.5vw, 3.5rem);
  top: 20%;
  left: min(2vw, 0.25rem);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(3):after {
  --event_bgIllust: url(../img/expo/special/point04_illust2.png);
  width: min(12.5vw, 3.5rem);
  top: 20%;
  right: min(2vw, 0.25rem);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(3) > [class^="databox_title"]:before {
  top: 0;
  left: 0;
  transform: translate(-50%, -60%);
  z-index: 2;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(3) > [class^="databox_title"] .balloon_title {
  padding-left: min(10vw, 3rem);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(3) > [class^="databox_title"] .event_title {
  text-align: center;
  translate: 0 35%;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(3) > [class^="databox_title"] .event_title > .sub {
  font-size: min(4vw, 1.45rem);
  font-weight: 700;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(3) > [class^="databox_content"] .txtbox > .strong {
  color: #fbc41b;
}

#special_event .special_event_databox > [class^="databox_box"]:nth-child(4) {
  --eventColor: #52599f;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(4):before {
  --event_bgIllust: url(../img/expo/special/point03_illust.png);
  width: min(12.5vw, 3.5rem);
  top: 20%;
  left: min(2vw, 0.25rem);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(4):after {
  --event_bgIllust: url(../img/expo/special/point03_illust2.png);
  width: min(12.5vw, 3.5rem);
  top: 20%;
  right: min(2vw, 0.25rem);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(4) > [class^="databox_title"]:before {
  top: 0;
  left: 0;
  transform: translate(-50%, -60%);
  z-index: 2;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(4) > [class^="databox_title"] .balloon_title {
  padding-left: min(10vw, 3rem);
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(4) > [class^="databox_title"] .event_title {
  text-align: center;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(4) > [class^="databox_title"] .event_title > .sub {
  font-size: min(4vw, 1.45rem);
  font-weight: 700;
}
#special_event .special_event_databox > [class^="databox_box"]:nth-child(4) > [class^="databox_content"] .txtbox > .strong {
  color: #fbc41b;
}

@media (min-width: 768px) {
  /*PC*/
  #special_event .special_event_databox > [class^="databox_box"]:nth-child(1):before,
  #special_event .special_event_databox > [class^="databox_box"]:nth-child(1):after {
    top: 10%;
  }
}
@media (max-width: 767px) {
  /*SP*/
  #special_event .special_event_databox {
    --spEvent_clmWide: 1;
    flex-direction: column;
  }
  #special_event .special_event_databox > [class^="databox_box"] > [class^="databox_title"] .titlebox_event .balloon_title {
    text-align: center;
  }
  /*個別*/
  #special_event .special_event_databox > [class^="databox_box"]:nth-child(1):before,
  #special_event .special_event_databox > [class^="databox_box"]:nth-child(1):after {
    top: 10%;
  }

  #special_event .special_event_databox > [class^="databox_box"]:nth-child(2) > [class^="databox_title"] .titlebox_event .event_title {
    text-align: center;
  }
}


/* -------------------------------------------------------------

      .howto_entry お申し込み方法

---------------------------------------------------------------- */
.howto_entry {
  --howTo_color: #6cc698;
  background: #eaeaea;
  border-radius: min(3vw, 5rem);
  padding-block: min(17.5vw, 5rem);
}
.howto_entry img {
  width: auto;
  height: auto;
  max-width: 100%;
}
.howto_entry .section_inner {
  width: min(100%, 1160px);
  margin-inline: auto;
}
.howto_entry .title {
  position: relative;
  color: var(--howTo_color);
  font-size: min(6vw, 1.75rem);
  font-weight: 700;
  text-align: center;
  width: fit-content;
  margin-inline: auto;
}
.howto_entry .title:after {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(90%, -10%);
  content: "";
  background: url(../img/expo/entry_illust01.png) center / contain no-repeat;
  width: min(22.5vw, 12.5rem);
  height: auto;
  aspect-ratio: 1.25 / 1;
  animation: fuwa 1s linear 0s infinite alternate running;
}
.howto_entry .step_list {
  --howtoStep_clmSpace: min(6vw, 3.5rem);
  display: flex;
  flex-wrap: wrap;
  gap: var(--howtoStep_rowSpace) var(--howtoStep_clmSpace);
  counter-reset: stepCounter 0;
  margin-block: min(10vw, 12.5rem) min(10vw, 5rem);
}
.howto_entry .step_list > [class^="step"] {
  position: relative;
  width: calc(100% / var(--howtoStep_clmWide, 2) - var(--howtoStep_clmSpace) / var(--howtoStep_clmWide, 2) * (var(--howtoStep_clmWide, 2) - 1));
  counter-increment: stepCounter 1;
  background: #fff;
  border-radius: min(6vw, 2.5rem);
  box-sizing: border-box;
  padding-block: min(12vw, 5rem) min(3vw, 1.5rem);
  padding-inline: min(3vw, 1.5rem);
}
.howto_entry .step_list > [class^="step"] .step_inner {
  display: flex;
  gap: min(6vw, 1.5rem) min(3vw, 2.5rem);
}
.howto_entry .step_list > [class^="step"] .step_inner:before,
.howto_entry .step_list > [class^="step"] .step_inner:after {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(15vw, 6.5rem);
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  color: var(--howTo_color);
  font-weight: 700;
  text-align: center;
  align-content: center;
  line-height: 1;
  box-sizing: border-box;
}
.howto_entry .step_list > [class^="step"] .step_inner:before {
  font-family: var(--pageExpo_font_engGothic02);
  content: "STEP";
  background: #fff;
  box-shadow: 0 min(1vw, 0.25rem) 0 0 #ccc;
  padding-bottom: min(6vw, 2.5rem);
  z-index: 2;
}
.howto_entry .step_list > [class^="step"] .step_inner:after {
  font-size: min(7vw, 3rem);
  content: counter(stepCounter);
  padding-top: min(3vw, 1.25rem);
  z-index: 3;
}
.howto_entry .step_list > [class^="step"] .txtbox {
  color: var(--howTo_color);
  font-weight: 700;
  line-height: 1.75;
}
/*個別*/
.howto_entry .step_list > [class^="step"]:nth-child(1) .step_inner {
  align-items: center;
}
.howto_entry .step_list > [class^="step"]:nth-child(1) .qr_photobox {
  width: 50%;
  margin-inline: auto;
}
.howto_entry .step_list > [class^="step"]:nth-child(1) .bnr_photobox {
  font-weight: 700;
  text-align: center;
}
.howto_entry .step_list > [class^="step"]:nth-child(1) .bnr_photobox .bnr_caption {
  color: var(--howTo_color);
  margin-top: min(5vw, 2.5rem);
}

.howto_entry .btn_line {
  display: block;
  cursor: pointer;
  border: 2px solid #01B902;
  background: #01B902;
  color: #fff;
  font-size: min(5vw, 1rem);
  font-weight: 600;
  border-radius: 100vmax;
  text-align: center;
  width: min(82.5%, 450px);
  margin-inline: auto;
  margin-block: min(3vw, 1.5rem) 0;
  padding-block: min(1.5vw, 0.5rem);
  transition: background .3s, color .3s;
}
.howto_entry .btn_line .icon {
  position: relative;
}
.howto_entry .btn_line .icon:after {
  font-family: "fontAwesome";
  font-weight: 500;
  content: "\f105";
  font-size: 1.25em;
  margin-left: 1em;

}
.howto_entry .btn_line:hover {
  background: #fff;
  color: var(--seminarPart_color);
}

.areaDialog__howtoEntry {
  width: min(100%, 1500px);
  border-radius: min(3vw, 5rem);
  border: 0px;
  padding: 0;
}

.areaDialog__howtoEntry .close_btn {
  cursor: pointer;
  border: 2px solid #4dbce8;
  background: #4dbce8;
  color: #fff;
  font-size: min(5vw, 1rem);
  font-weight: 600;
  border-radius: 100vmax;
  text-align: center;
  width: 75%;
  margin-inline: auto;
  margin-block: min(3vw, 1.5rem) 0;
  padding-block: min(1.5vw, 0.5rem);
  transition: background .3s, color .3s;
}
.areaDialog__howtoEntry .close_btn:hover {
  background: #fff;
  color: var(--seminarPart_color);
}
.areaDialog__howtoEntry .close_icon {
  position: absolute;
  top: min(3vw, 0.75rem);
  right: min(3vw, 2rem);
  font-size: min(7.5vw, 2.5rem);
  line-height: 1.25;
  cursor: pointer;
}

@media (min-width: 768px) {
  /*PC*/
  .howto_entry .step_list {
    --howtoStep_clmWide: 3;
    --howtoStep_rowSpace: min(6vw, 2.5rem);
  }
  .howto_entry .step_list > [class^="step"]:not(:last-child):after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate( calc(var(--howtoStep_clmSpace)/2 + 50%), -50% );
    font-family: "fontAwesome";
    font-weight: 500;
    content: "\f105";
    color: color-mix(in srgb, var(--howTo_color), #fff 25% );
    font-size: min(7vw, 3.5rem);
  }
  /*個別*/
  .howto_entry .step_list > [class^="step"]:nth-child(1) .step_inner {
    flex-direction: column;
  }
  .howto_entry .step_list > [class^="step"] .step_inner:has(.window_photobox) .txtbox {
    flex: 1;
  }
  .howto_entry .step_list > [class^="step"] .step_inner:has(.window_photobox) .window_photobox {
    flex: 1.25;
  }
}

@media (max-width: 767px) {
  /*SP*/
  .howto_entry {
    padding-inline: 6vw;
  }
  .howto_entry .title:after {
    top: 100%;
  }
  .howto_entry .step_list {
    --howtoStep_clmWide: 1;
    --howtoStep_rowSpace: 20vw;
    flex-direction: column;
  }
  .howto_entry .step_list > [class^="step"]:not(:last-child):after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate( -50%, calc(var(--howtoStep_rowSpace)/2 + 25%) );
    font-family: "fontAwesome";
    font-weight: 500;
    content: "\f107";
    color: color-mix(in srgb, var(--howTo_color), #fff 25% );
    font-size: min(12vw, 3.5rem);
  }
  .howto_entry .step_list > [class^="step"] .step_inner {
    gap: 4vw;
  }
  .howto_entry .step_list > [class^="step"] .step_inner:has(.window_photobox) .txtbox {
    flex: 3;
  }
  .howto_entry .step_list > [class^="step"] .step_inner:has(.window_photobox) .window_photobox {
    flex: 1;
  }
  .howto_entry .btn_line .icon {
    display: block;
    padding-right: 6vw;
  }
  .howto_entry .btn_line .icon:after {
    position: absolute;
    top: 50%;
    right: 3.5vw;
    transform: translate(0, -50%);
  }
}


.area_entry_bnr {
  margin-block: min(10vw, 5rem) min(15vw, 10rem);
  padding-inline: min(3vw, 1.5rem);
  .bnr_photobox {
    text-align: center;
    filter: drop-shadow(0 0 10px rgba(0,0,0, 0.25));
    img {
      max-width: 100%;
      width: auto;
      margin-inline: auto;
      transition: opacity .3s;
    }
    .bnr_link {
      &:hover {
        img {
          opacity: 0.75;
        }
      }
    }
  }
}



/* -------------------------------------------------------------

      #briefing 合同企業説明会

---------------------------------------------------------------- */
#briefing {
  background: url(../img/expo/briefing/bg.jpg) center top / 100% auto no-repeat;
  padding-bottom: min(10vw, 5rem);
  .section_title {
    transform: translate(-5%, -15%);
    text-align: center;
  }
}
#briefing > .h2_ttl_block:after {
  position: absolute;
  top: 0;
  left: 50%;
  content: "";
  width: min(20vw, 7.5rem);
  height: auto;
  aspect-ratio: 1 / 1;
  background: url(../img/expo/balloon_open.svg) center / contain no-repeat;
}

#briefing .cont_img {
  text-align: center;
  margin-block: min(3vw, 2.5rem);
}

@media (min-width: 768px) {
  /*PC*/
  #briefing > .h2_ttl_block:after {
    transform: translate(calc(-50% - min(10vw, 12.5rem)), -25%);
  }
}
@media (max-width: 767px) {
  /*SP*/
  #briefing {
    .section_title {
      img {
        width: 80%;
      }
    }
  }
  #briefing > .h2_ttl_block:after {
    transform: translate(calc(-50% - min(15vw, 12.5rem)), -85%);
  }
  #briefing .section_inner {
    box-sizing: border-box;
    letter-spacing: -0.1px;
    padding-inline: min(3vw, 1.5rem);
  }
}


/* -------------------------------------------------------------

      #experience 体験型イベント

---------------------------------------------------------------- */

#experience .h2_ttl_block,
#experience .h2_ttl_block::before {
  background-color: #aed013;
}

#experience .h2_ttl_block {
  background-position: top -55px right 165px;
}

#experience .event_list {
  max-width: 800px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#experience .event_list_item {
  width: calc((100% - 60px) / 2);
  margin-bottom: 60px;
}
#experience .event_list_item.type_beauty {
  --eventColor: #eb8586;
}
#experience .event_list_item.type_co {
  --eventColor: #0d83c6;
}

#experience .event_img {
  width: auto;
  max-width: 100%;
  border-radius: 30px;
  border: 3px solid var(--eventColor, #aed013);
}

#experience .ttlbox_event {
  display: flex;
}
#experience .event_ttl {
  font-size: 1.4rem;
  font-weight: bold;
  color: var(--eventColor, #aed013);
  margin: 10px 0 0;
}
#experience .course {
  font-size: min(3.5vw, 1.2rem);
  font-weight: bold;
  color: color-mix(in srgb, var(--eventColor, #aed013), #fff 50% );
  margin-block: 5px 10px;
}
#experience .detail_item_list {
  display: flex;
  flex-direction: column;
  gap: min(1.5vw, 0.5rem);
  font-weight: 700;
  margin-block: min(3vw, 1rem);
}
#experience .detail_item_list > [class^="detail_item"]:before {
  content: "●";
  color: var(--eventColor);
  margin-right: min(3vw, 1rem);
}

#experience .booth_databox {
  --booth_clmSpace: min(6vw, 3.5rem);
  --booth_rowSpace: min(12vw, 3.5rem);
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: var(--booth_rowSpace) var(--booth_clmSpace);
}
#experience .booth_databox:before,
#experience .booth_databox:after {
  --dot_size: min(3vw, 1.35rem);
  position: absolute;
  content: "";
  width: min(45vw, 25rem);
  height: auto;
  aspect-ratio: 1.25 / 1;
  background: 
    radial-gradient( var(--dot_color) 10%, rgba(0,0,0, 0) 10%) 0 0 / var(--dot_size) var(--dot_size),
    radial-gradient( var(--dot_color) 10%, rgba(0,0,0, 0) 10%) calc(var(--dot_size)/2) calc(var(--dot_size)/2) / var(--dot_size) var(--dot_size)
  ;
  mask: url(../img/expo/bg_shape01.svg) center / contain no-repeat;
}
#experience .booth_databox:before {
  --dot_color: #aed013;
  top: 0;
  left: 0;
  transform: translate(-50%, -10%);
}
#experience .booth_databox:after {
  --dot_color: #77cf4b;
  bottom: 0;
  right: 0;
  transform: translate(50%, 15%);
}
#experience .booth_databox > [class^="databox_box"] {
  --eventColor: var(--booth_color);
  position: relative;
  width: calc(100% / var(--booth_clmWide, 2) - var(--booth_clmSpace) / var(--booth_clmWide, 2) * (var(--booth_clmWide, 2) - 1));
  background: color-mix(in srgb, var(--booth_color), #fff 80%);
  border-radius: min(6vw, 2.5rem);
  box-sizing: border-box;
  padding-inline: min(3vw, 2rem);
  padding-block: 0 min(3vw, 2rem);
  z-index: 2;
}
#experience .booth_databox > [class^="databox_box"][class^="databox_box__kidz"] {
  /*キッズスペース*/
  --booth_color: #aed013;
}
#experience .booth_databox > [class^="databox_box"][class^="databox_box__fair"] {
  /*縁日ブース*/
  --booth_color: #77cf4b;
}
#experience .booth_databox > [class^="databox_box"] > [class^="databox_title"] {
  position: relative;
  text-align: center;
  translate: 0 -65%;
  color: var(--booth_color);
  font-family: var(--pageExpo_font_jpGothic02);
  font-size: min(6vw, 1.85rem);
  font-weight: 700;
  text-stroke: 10px #fff;
  -webkit-text-stroke: 10px #fff;
  paint-order: stroke;

}
#experience .booth_databox > [class^="databox_box"] > [class^="databox_content"] {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 90%;
  line-height: 1.75;
}
#experience .booth_databox > [class^="databox_box"] > [class^="databox_content"] .photobox {
  --boothPhoto_clmSpace: min(3vw, 1rem);
  display: flex;
  flex-wrap: wrap;
  gap: var(--boothPhoto_clmSpace);
  margin-block: min(3vw, 1.5rem) 0;
}
#experience .booth_databox > [class^="databox_box"] > [class^="databox_content"] .photobox > picture {
  width: calc(100% / var(--boothPhoto_clmWide, 2) - var(--boothPhoto_clmSpace) / var(--boothPhoto_clmWide, 2) * (var(--boothPhoto_clmWide, 2) - 1));
}
#experience .booth_databox > [class^="databox_box"] > [class^="databox_content"] .photobox > picture > img {
  width: 100%;
  border-radius: min(3vw, 1rem);
  object-fit: cover;
}
#experience .notes_txt {
  font-size: min(3vw, 0.85rem);
  margin-block: min(3vw, 1rem);
}
#experience .booth_databox > [class^="databox_box"] > [class^="databox_content"] .booth_box {
  display: flex;
  align-items: center;
  gap: min(3vw, 2.5rem);
}
#experience .booth_databox > [class^="databox_box"] > [class^="databox_content"] .booth_box > * {
  flex: 1;
}

@media screen and (min-width: 768px) {
  /*PC*/
  #experience .ttlbox_event {
    flex-direction: column;
  }
  #experience .booth_databox {
    --booth_clmWide: 1;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  #experience {
    margin-top: 20vw;
  }
  #experience .h2_ttl_block {
    background-position: top 20% right -170%;
  }

  #experience .event_list_item {
    width: 100%;
    margin-bottom: 30px;
  }
  #experience .ttlbox_event {
    align-items: center;
    gap: min(3vw, 1rem);
    margin-block: 1.5vw;
  }
  #experience .ttlbox_event .event_ttl,
  #experience .ttlbox_event .course {
    margin-block: 0;
  }
  #experience .booth_databox {
    --booth_clmWide: 1;
    flex-direction: column;
    margin-top: 10vw;
  }
  #experience .booth_databox > [class^="databox_box"] > [class^="databox_content"] .booth_box {
    flex-direction: column;
  }
  #experience .booth_databox > [class^="databox_box"] > [class^="databox_content"] .booth_box > * {
    width: 100%;
  }
}



/* -------------------------------------------------------------

      #seminar 卒後セミナー　

---------------------------------------------------------------- */
#seminar {
  background: url(../img/expo/seminar/bg.jpg) center top / 100% auto no-repeat;
  padding-bottom: min(10vw, 5rem);
  .section_title {
    transform: translate(-7.5%, -15%);
    text-align: center;
  }
}
#seminar .h2_ttl_block,
#seminar .h2_ttl_block::before {
  background-color: #009fde;
}

#seminar .event_list {
  margin-top: 10px;
}

#seminar .event_list article .tx_box02 {
  letter-spacing: 0.05em;
  padding: 14px 0 0;
  border-top: 1px solid #009fde;
}

#seminar .seminar_part_databox {
  --seminarPart_color: #4dbce8;
  display: flex;
  flex-direction: column;
  gap: min(6vw, 5rem);
  margin-block: min(12vw, 5rem) min(5vw, 1.5rem);
}
#seminar .seminar_part_databox * {
  box-sizing: border-box;
}
#seminar .seminar_part_databox > [class^="databox_box"] > [class^="databox_title"] {
  font-weight: 700;
  text-align: center;
}
#seminar .seminar_part_databox > [class^="databox_box"] > [class^="databox_title"] > .title {
  color: var(--seminarPart_color);
  font-size: min(5.5vw, 1.75rem);
  letter-spacing: 5px;
  margin-bottom: min(3vw, 1rem);
}
#seminar .seminar_part_databox > [class^="databox_box"] > [class^="databox_title"] > .time {
  font-size: min(5vw, 1.25rem);
}
#seminar .seminar_part_databox > [class^="databox_box"] > [class^="databox_content"] {

}
#seminar .seminar_part_databox .seminar_list {
  --seminar_clmSpace: min(6vw, 3.5rem);
  --seminar_rowSpace: min(6vw, 2.5rem);
  display: flex;
  flex-wrap: wrap;
  gap: var(--seminar_rowSpace) var(--seminar_clmSpace);
  margin-block: min(6vw, 2.5rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] {
  position: relative;
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: auto;
  gap: min(1vw, 0.5rem) min(3vw, 1rem);
  width: calc(100% / var(--seminar_clmWide, 2) - var(--seminar_clmSpace) / var(--seminar_clmWide, 2) * (var(--seminar_clmWide, 2) - 1));
  background: #fff;
  box-shadow: 6px 6px 0 var(--seminarPart_color);
  border-radius: min(6vw, 2.5rem);
  padding: min(6vw, 2.5rem) min(3vw, 1.5rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .course {
  font-size: min(5vw, 1.5rem);
  font-weight: 700;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] [class$="course"] [class^="course"] {
  --icon_size: min(6vw, 1.75rem);
  position: relative;
  color: var(--seminarCourse_color);
  padding-left: calc( var(--icon_size) + min(1.5vw, 0.5rem) );
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] [class$="course"] [class^="course"]:before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  content: "";
  width: var(--icon_size);
  height: auto;
  aspect-ratio: 1 / 1;
  background: var(--seminarCourse_icon) center / contain no-repeat;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"]:not(:has(button)) .course {
  align-content: center;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_title {
  color: var(--seminarPart_color);
  font-weight: 600;
}


#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > .course {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > .seminar_title {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  border-top: 1px solid var(--seminarPart_color);
  border-bottom: 1px solid var(--seminarPart_color);
  padding-block: min(3vw, 1rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > .photobox {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > .photobox img {
  width: 100%;
  height: auto;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > .photobox .teacher_name {
  font-size: min(3vw, 0.8rem);
  text-align: center;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > .time_wrap {
  grid-column: 1 / 3;
  grid-row: auto;
  margin-bottom: min(3vw, 1.5rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .time_onedatabox {
  display: flex;
  align-items: center;
  gap: min(3vw, 1rem);
  font-weight: 700;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .time_onedatabox > [class^="databox_title"] {
  border: 1px solid var(--seminarPart_color);
  color: var(--seminarPart_color);
  padding: 0 min(3vw, 1rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > .time_wrap .notes {
  grid-column: 1 / 3;
  grid-row: auto;
  font-size: min(3vw, 0.75rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > button {
  grid-column: 1 / 3;
  grid-row: auto;
  border: 2px solid var(--seminarPart_color);
  background: var(--seminarPart_color);
  color: #fff;
  font-size: min(5vw, 1rem);
  font-weight: 600;
  border-radius: 100vmax;
  width: 75%;
  margin-inline: auto;
  margin-block: auto 0;
  padding-block: min(1.5vw, 0.5rem);
  transition: background .3s, color .3s;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > button:hover {
  background: #fff;
  color: var(--seminarPart_color);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > button.disable {
  visibility: hidden;
}

#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > dialog {
  width: min(90%, 852px);
  border-radius: min(6vw, 2.5rem);
  border: 0px;
  box-shadow: 6px 6px 0 var(--seminarPart_color);
  padding: min(6vw, 2.5rem) min(3vw, 2.5rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > dialog::backdrop {
  background: rgba(0,0,0, 0.5);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > dialog .close_btn {
  cursor: pointer;
  border: 2px solid var(--seminarPart_color);
  background: var(--seminarPart_color);
  color: #fff;
  font-size: min(5vw, 1rem);
  font-weight: 600;
  border-radius: 100vmax;
  text-align: center;
  width: 75%;
  margin-inline: auto;
  margin-block: min(3vw, 1.5rem) 0;
  padding-block: min(1.5vw, 0.5rem);
  transition: background .3s, color .3s;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] > dialog .close_btn:hover {
  background: #fff;
  color: var(--seminarPart_color);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box {
  display: flex;
  flex-wrap: wrap;
  gap: min(3vw, 2.5rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .seminar_course {
  width: 100%;
  color: var(--seminarCourse_color);
  font-size: min(4.5vw, 1.25rem);
  font-weight: 700;
  text-align: right;
}

#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .teacher_photobox_wrap {
  --seminarTeacher_clmSpace: min(3vw, 1rem);
  flex: 1;
  display: flex;
  gap: var(--seminarTeacher_clmSpace);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .teacher_photobox_wrap .teacher_photobox {
  position: relative;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .teacher_photobox_wrap .teacher_photobox img {
  width: 100%;
  height: auto;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .teacher_photobox_wrap .teacher_photobox .teacher_name {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(0deg, rgba(0,0,0, 0.5), rgba(0,0,0, 0));
  font-size: min(3vw, 0.75rem);
  font-weight: 700;
  color: #fff;
  padding: min(1vw, 0.25rem) min(1.5vw, 0.45rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .txtbox {
  flex: 4;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .txtbox .seminar_title {
  font-size: min(5vw, 1.15rem);
  font-weight: 600;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .txtbox .seminar_info_databox {
  display: flex;
  flex-direction: column;
  gap: min(3vw, 1rem);
  border-top: 1px solid var(--seminarPart_color);
  border-bottom: 1px solid var(--seminarPart_color);
  margin-block: min(3vw, 1rem);
  padding-block: min(3vw, 1rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .txtbox .seminar_info_databox > [class^="databox_box"] {
  display: flex;
  gap: min(3vw, 1rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .txtbox .seminar_info_databox > [class^="databox_box"] > [class^="databox_title"] {
  flex: 1;
  background: var(--seminarPart_color);
  color: #fff;
  font-weight: 600;
  text-align: center;
  align-content: center;
  padding-inline: min(3vw, 1rem);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .txtbox .seminar_info_databox > [class^="databox_box"] > [class^="databox_content"] {
  flex: 4;
  font-weight: 700;
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .txtbox .txt {
  line-height: 1.75;
}
#seminar .entry_btn {
  margin-bottom: min(20vw, 7.5rem);
}

/*カラー*/
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] [class^="course_sports"] {
  /*スポーツ科学科*/
  --seminarCourse_color: #496cb5;
  --seminarCourse_icon: url(../img/icon_areaNav01.png);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] [class^="course_ac"] {
  /*鍼灸科*/
  --seminarCourse_color: #dd7bb2;
  --seminarCourse_icon: url(../img/icon_areaNav03.png);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] [class^="course_pt"] {
  /*理学療法*/
  --seminarCourse_color: #fbb224;
  --seminarCourse_icon: url(../img/icon_areaNav04.png);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] [class^="course_ot"] {
  /*作業療法*/
  --seminarCourse_color: #ef4b47;
  --seminarCourse_icon: url(../img/icon_areaNav05.png);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] [class^="course_sw"] {
  /*社会福祉*/
  --seminarCourse_color: #1ab070;
  --seminarCourse_icon: url(../img/icon_areaNav08.png);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] [class^="course_psw"] {
  /*精神福祉*/
  --seminarCourse_color: #f36426;
  --seminarCourse_icon: url(../img/icon_areaNav09.png);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] [class^="course_judo"] {
  /*柔道整復*/
  --seminarCourse_color: #42b99d;
  --seminarCourse_icon: url(../img/icon_areaNav02.png);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] [class^="course_st"] {
  /*言語聴覚*/
  --seminarCourse_color: #cd9dd5;
  --seminarCourse_icon: url(../img/icon_areaNav07.png);
}
#seminar .seminar_part_databox .seminar_list > [class^="seminar"] [class^="course_co"] {
  /*視能訓練*/
  --seminarCourse_color: #0e84c6;
  --seminarCourse_icon: url(../img/icon_areaNav06.png);
}

@media (min-width: 768px) {
  /*PC*/
  #seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .teacher_photobox_wrap {
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  /*SP*/
  #seminar {
    .section_title {
      img {
        width: 80%;
      }
    }
  }
  #seminar .seminar_part_databox {
    padding-inline: min(3vw, 1.5rem);
  }
  #seminar .seminar_part_databox .seminar_list {
    --seminar_clmWide: 1;
    flex-direction: column;
  }
  #seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box {
    flex-direction: column;
  }
  #seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .teacher_photobox_wrap {
    --seminarTeacher_clmWide: 2;
    flex-wrap: wrap;
    justify-content: center;
  }
  #seminar .seminar_part_databox .seminar_list > [class^="seminar"] .seminar_detail_box .teacher_photobox_wrap > .teacher_photobox {
    width: calc(100% / var(--seminarTeacher_clmWide, 2) - var(--seminarTeacher_clmSpace) / var(--seminarTeacher_clmWide, 2) * (var(--seminarTeacher_clmWide, 2) - 1));
  }
}

/* -------------------------------------------------------------

      #gathering 大懇親会

---------------------------------------------------------------- */

#gathering {
  background: url(../img/expo/gathering/bg.jpg) 100% 100% / cover no-repeat;
  padding-block: min(10vw, 5rem);
}
#gathering .h2_ttl_block,
#gathering .h2_ttl_block::before {
  background-color: #f5aa26;
}
#gathering .titlebox {
  display: flex;
  gap: min(3vw, 1.5rem);
  text-align: center;
  margin-bottom: min(5vw, 3.5rem);
  padding-bottom: min(10vw, 5rem);
  .txtbox {
    flex: 1.25;
    .titlebox_gathering {
      text-stroke: 8px #fff;
      -webkit-text-stroke: 8px #fff;
      paint-order: stroke;
      font-weight: 900;
      line-height: 1.5;
      .time {
        font-size: min(6vw, 2.25rem);
        color: #75cdf1;
        letter-spacing: 2px;
        .reception {
          font-size: 0.75em;
        }
      }
      .section_title {
        font-size: min(15vw, 5rem);
        color: #009fde;
        letter-spacing: 5px;
        &:first-letter {
          color: #fbc41b;
        }
      }
    }
    .lead_box {
      display: flex;
      flex-direction: column;
      gap: min(3vw, 1rem);
      padding-top: min(3vw, 1.5rem);
      .txt {
        color: #fff;
        font-size: min(3.5vw, 1.15rem);
        font-weight: 700;
        text-align: left;
        line-height: 1.5;
        > em {
          font-size: 1.2em;
        }
      }
    }
  }
  .photobox {
    flex: 1;
    position: relative;
    > picture {
      img {
        border-radius: min(3vw, 1rem);
      }
    }
    .point_txt {
      position: absolute;
      bottom: 0;
      left: 75%;
      transform: translate(-50%, 50%);
      background: #fbc41b;
      color: #009fde;
      font-weight: 900;
      border-radius: 50%;
      width: min(25vw, 120px);
      height: auto;
      aspect-ratio: 1 / 1;
      text-align: center;
      align-content: center;
      padding: min(3vw, 1rem);
    }
  }
}
#gathering .titlebox .cont_ttl {
  font-size: min(7vw, 2.35rem);
  font-weight: 900;
}
#gathering .txtbox {
  position: relative;
  text-align: center;
  line-height: 2;
  margin-block: 0 min(5vw, 2.5rem);
}
#gathering .txtbox .title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: min(3vw, 1rem);
}
#gathering .txtbox .illust_photobox {
  width: min(50vw, 12.5rem);
  height: auto;
  aspect-ratio: 1 / 1.15;
}
#gathering .txtbox .illust_photobox > picture {
  position: absolute;
  top: 0;
  left: 0;
  animation: anime_jump 2s ease 0s infinite normal forwards running;
}
#gathering .txtbox .illust_photobox > picture:nth-child(1) {
  animation-delay: 0.25s;
}
#gathering .txtbox .illust_photobox > picture:nth-child(2) {
  animation-delay: calc(0.25s * 2);
}
#gathering .txtbox .illust_photobox > picture:nth-child(3) {
  animation-delay: calc(0.25s * 3);
}
#gathering .txtbox .illust_photobox > picture:nth-child(4) {
  animation-delay: calc(0.25s * 4);
}
#gathering .txtbox .illust_photobox > picture:nth-child(5) {
  animation-delay: calc(0.25s * 5);
}
#gathering .txtbox .illust_photobox > picture:nth-child(6) {
  animation-delay: calc(0.25s * 6);
}
#gathering .txtbox .illust_photobox > picture > img {
  width: 100%;
  height: auto;
}
#gathering .em_txt {
  font-size: min(5vw, 1.15rem);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: min(1.5vw, 0.75rem);
}
@keyframes anime_jump {
  0% {
    translate: 0 0;
  }
  80% {
    translate: 0 0;
  }
  82.25% {
    translate: 0 -5%;
  }
  84% {
    translate: 0 -3.5%;
  }
  85% {
    translate: 0 0;
  }
  85.2% {
    translate: 0 -1%;
  }
  86% {
    translate: 0 0;
  }
  100% {
    translate: 0 0;
  }
}

#gathering .event_list article+article {
  margin-top: 40px;
}

#gathering .event_list article {
  padding: 0;
  border-radius: 20px;
  background: #fff;
  width: 100%;
  box-shadow: 6px 6px 0 rgba(77, 188, 232, 1);
}

#gathering .event_list article .photo img {
  width: 100%;
}

#gathering .event_list article .detail {
  padding: 10px;
}

#gathering .course_name {
  padding: 0px 50px 0 0;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: right;
}

#gathering .course_name span {
  padding: 16px 0px 16px 40px;
  line-height: 100%;
}

#gathering .course1 span {
  color: #0055ad;
  background: url(../img/icon_areaNav01.png) no-repeat left center;
  background-size: 30px;
}

#gathering .course2 span {
  color: #6db338;
  background: url(../img/icon_areaNav02.png) no-repeat left center;
  background-size: 30px;
}

#gathering .course3 span {
  color: #dc6a83;
  background: url(../img/icon_areaNav03.png) no-repeat left center;
  background-size: 30px;
}

#gathering .course4 span {
  color: #f7ab19;
  background: url(../img/icon_areaNav04.png) no-repeat left center;
  background-size: 30px;
}

#gathering .course5 span {
  color: #c81332;
  background: url(../img/icon_areaNav05.png) no-repeat left center;
  background-size: 30px;
}

#gathering .course6 span {
  color: #038bd7;
  background: url(../img/icon_areaNav06.png) no-repeat left center;
  background-size: 30px;
}

#gathering .course7 span {
  color: #94196a;
  background: url(../img/icon_areaNav07.png) no-repeat left center;
  background-size: 30px;
}

#gathering .course8 span {
  color: #016d53;
  background: url(../img/icon_areaNav08.png) no-repeat left center;
  background-size: 30px;
}

#gathering .course9 span {
  color: #f29900;
  background: url(../img/icon_areaNav09.png) no-repeat left center;
  background-size: 30px;
}

#gathering .course10 span {
  color: #e93649;
  background: url(../img/icon_areaNav10.png) no-repeat left center;
  background-size: 30px;
}

#gathering .eventinfo_01,
#gathering .eventinfo_02 {
  border-top: 1px solid #009fde;
}

#gathering .eventinfo_02 .detaile_teacher+.subttl {
  border-top: 1px solid #009fde;
  margin-top: 10px;
  padding-top: 16px;
}

#gathering .eventinfo_02 {
  padding-top: 12px;
}

#gathering .detaile_schedule {
  display: table;
  width: 100%;
  padding: 8px 0;
}

#gathering .detaile_schedule dt {
  width: 33%;
  border-right: 1px solid #009fde;
  padding: 16px 10px;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  font-weight: bold;
}

#gathering .detaile_schedule dd {
  padding: 16px 20px;
  display: table-cell;
  color: #009fde;
  vertical-align: middle;
}

#gathering .detaile_schedule .time {
  font-size: 15px;
}

#gathering .detaile_schedule .event_type {
  display: inline-block;
  padding: 0.1em 0.5em;
  color: #fff;
  font-size: 12px;
  background-color: #009fde;
}

#gathering .detaile_schedule .finish {
  font-size: 12px;
  color: #fff;
  padding: 3px 10px;
  text-align: center;
  border-radius: 22px;
  background: #e02d57;
  letter-spacing: 0.1em;
  margin: 5px;
}

#gathering .detaile_teacher {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding-top: 6px;
  margin-bottom: 10px;
}

#gathering .detaile_teacher .name {
  font-size: 14px;
  width: 9%;
  color: #fff;
  padding: 5px 14px;
  text-align: center;
  border-radius: 22px;
  background: #009fde;
  margin-bottom: 5px;
  letter-spacing: 0.1em;
}

#gathering .detaile_teacher .tx .sub {
  font-weight: normal;
  font-size: 12px;
}

#gathering .detaile_teacher .tx {
  width: 84%;
  margin-bottom: 5px;
  font-weight: bold;
}

#gathering .event_list .btn_link {
  position: absolute;
}

#gathering .event_list .btn_link a {
  width: 250px;
  margin: -36px auto;
  display: block;
}

#gathering .event_list .btn_link a>span {
  padding: 12px 20px;
  background: #e02d57;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  border-radius: 28px;
  border: 4px solid #fff;
}

#gathering .event_list .btn_link .arrow {
  fill: #fff;
}

.btn-more,
.btn-more-close,
.btn-back {
  border-radius: 26px;
  font-size: 1.8rem;
  font-weight: bold;
  display: block;
  position: relative;
  cursor: pointer;
  text-align: center;
  background: #fff;
  color: #e02d57;
  border: 2px solid #e02d57;
}

.btn-more:before {
  content: "\f055";
  font-family: FontAwesome;
  display: inline-block;
  font-size: 1.4em;
  top: 5px;
  z-index: 98;
  margin-right: 10px;
  vertical-align: middle;
}

.btn-more-close:before {
  content: "\f057";
  font-family: FontAwesome;
  color: var(--sagyou);
  display: inline-block;
  top: 4px;
  left: calc(50% - 40px);
  z-index: 100;
  margin-right: 10px;
  vertical-align: middle;
}

#gathering .photolist_databox {
  margin-block: min(10vw, 5rem) min(10vw, 7.5rem);
}
#gathering .photolist_databox > [class^="databox_box"] {
  position: relative;
}
#gathering .photolist_databox > [class^="databox_box"] > [class^="databox_title"] {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -75%);
  display: flex;
  gap: min(3vw, 1rem);
  font-size: min(7vw, 2.25rem);
  z-index: 2;
}
#gathering .photolist_databox > [class^="databox_box"] > [class^="databox_title"] .circle_letter {
  display: block;
  background: #fff;
  border-radius: 50%;
  color: #009fde;
  font-weight: 900;
  text-align: center;
  align-content: center;
  line-height: 1;
  width: 1.25em;
  height: 1.35em;
  padding-inline: min(2vw, 0.25rem);
}
#gathering .photolist_databox > [class^="databox_box"] > [class^="databox_content"] {
  display: flex;
  flex-direction: column;
  gap: min(3vw, 1.5rem);
}
#gathering .photolist_databox > [class^="databox_box"] > [class^="databox_content"] > * {
  width: 100%;
}
#gathering .photolist_databox > [class^="databox_box"] > [class^="databox_content"] .swiper-slide {
  overflow: hidden;
}

#after {
  background-color: #ffffff;
  background-image: radial-gradient(circle, #f0f0f0 1px, transparent 1px);
  background-position: 0 0;
  background-size: 3px 3px;
  text-align: center;
}

#after .after_inner {
  max-width: 860px;
  margin: auto;
  padding: 70px 0 90px;
  position: relative;
}

#after .after_inner::after {
  content: "";
  display: block;
  width: 215px;
  height: 266px;
  background: url(../img/expo/social_gathering_illust01.png) center top / cover no-repeat;
  position: absolute;
  right: 0;
  bottom: -20px;
}

#after .after_ttl {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: bold;
  color: #009fde;
  margin-bottom: 10px;
  position: relative;
}

#after .after_ttl_ballon {
  width: 110px;
  height: 110px;
  color: #fff;
  font-size: 1.2rem;
  background: #009fde;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: -120px;
  bottom: 10px;
  transform: rotate(-20deg);
}

#after .after_ttl_ballon::after {
  content: "";
  display: block;
  width: 52px;
  height: 26px;
  background: url(../img/expo/ballon_tail.svg) center top / cover no-repeat;
  position: absolute;
  left: 25px;
  bottom: -12px;
}


@media only screen and (min-width: 768px) {

  #gathering .section_inner {
    --innerWidth: 1000px;
  }
  #gathering .event_list article {
    margin-bottom: 65px;
    margin-top: 35px;
    padding-bottom: 0px;
    padding-top: 25px;
  }

  #gathering .event_list article .detail {
    padding: 10px 45px 45px;
  }

  #gathering .event_list article .flexbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  #gathering .event_list article .photo {
    padding: 0;
    margin-bottom: 10px;
    width: 23%;
  }

  #gathering .event_list article .tx_box {
    width: 100%;
    letter-spacing: 0.05em;
    padding: 0;
  }

  #gathering .event_list article .photo+.tx_box {
    width: 74%;
  }

  #gathering .event_list .btn_link .arrow {
    width: 22px;
    height: 18px;
    margin-right: 10px;
  }

  #gathering .txtbox .illust_photobox {
    position: absolute;
    top: 100%;
    left: 45%;
    transform: translate(50%, -10%);
  }

  .detaile_schedule .fsm01 {
    font-size: 28px;
  }

  .detaile_schedule .fsm02 {
    font-size: 20px;
  }

  .btn-more,
  .btn-more-close,
  .btn-back {
    border-radius: 38px;
    font-size: 20px;
    font-weight: bold;
    margin: 80px auto 20px;
    border: 4px solid #e02d57;
    width: 32%;
  }

  .btn-more,
  .btn-more-close,
  .btn-back a {
    padding: 10px;
    display: block;
  }

  #gathering .event_list .btn_link {
    bottom: -8px;
    left: calc((100% - 250px) / 2);
  }
}

@media screen and (min-width: 767px) {
  /*PC*/
  #gathering .titlebox {
    .photobox {
      img {
        width: 100%;
      }
    }
  }
}
@media screen and (max-width: 767px) {
  #event {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: -50px;
  }

  .contents #event .ttl img {
    width: 94%;
    margin-bottom: 10px;
  }

  .lead_tx {
    font-size: 14px;
    margin-bottom: 20px;
    text-align: left;
  }

  #gathering .titlebox {
    flex-direction: column;
    .txtbox {
      .lead_box {
        padding-inline: min(3vw, 1.5rem);
      }
    }
    .photobox {
      transform: translate(0, -25%);
      text-align: center;
      img {
        width: 90%;
        object-fit: cover;
      }
      .point_txt {
        bottom: 0;
        left: 25%;
      }
    }
  }
  #gathering {
    .photolist_databox {
      > [class^="databox_box"] {
        > [class^="databox_title"] {
          flex-wrap: wrap;
          justify-content: center;
          width: 92.5%;
          padding-inline: min(6vw, 2rem);
        }
      }
    }
  }

  #gathering .event_list {
    margin: 10px 0px;
  }

  #gathering .event_list article .photo img {
    width: 100%;
  }

  #gathering .event_list article {
    width: 100%;
    padding-top: 10px;
    margin-bottom: 50px;
  }

  #gathering .detaile_teacher {
    padding: 10px 0;
    margin-bottom: 0;
  }

  #gathering .eventinfo_02 .subttl {
    margin-top: 10px;
  }

  #gathering .eventinfo_02 .detaile_teacher+.subttl {
    padding-top: 10px;
  }

  #gathering .event_list article .tx_box02 {
    font-size: 13px;
    margin-top: 0;
    padding-top: 10px;
  }

  #gathering .event_list article .detail {
    padding: 0px 20px 30px;
  }

  #gathering .detaile_teacher .name {
    width: 15%;
    padding: 3px 6px 4px;
    font-size: 12px;
  }

  #gathering .detaile_teacher .tx {
    width: 78%;
    font-size: 14px;
    margin-bottom: 0;
  }

  #gathering .event_list .btn_link {
    bottom: -30px;
    left: calc((100% - 250px) / 2);
    font-size: 14px;
  }

  #gathering .event_list .btn_link .arrow {
    width: 18px;
    height: 14px;
    margin-right: 10px;
  }

  #gathering .event_list .btn_link a {
    margin: -10px auto 0;
    display: block;
  }

  #gathering .event_list article+article {
    margin-top: 30px;
  }

  .detaile_schedule dd {
    padding: 8px 0px 0;
    font-size: 15px;
  }

  .btn-more,
  .btn-more-close,
  .btn-back {
    margin: 60px auto 10px;
    font-size: 16px;
    width: 90%;
    padding: 12px;
  }

  #gathering .course_name {
    padding: 5px 0px 12px 0;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.1em;
    text-align: center;
  }

  #gathering .course_name span {
    padding: 10px 0px 10px 40px;
    line-height: 100%;
  }

  #gathering .eventinfo_02 {
    padding-top: 0px;
  }

  #gathering .detaile_schedule {
    display: block;
    width: 100%;
    padding: 0 0 8px;
  }

  #gathering .detaile_schedule dt {
    font-size: 14px;
    padding: 8px 0px;
    display: block;
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #009fde;
  }

  #gathering .event_list article .detail .photo+.tx_box .eventinfo_01 {
    border-top: none;
  }

  #gathering .detaile_schedule .fsm01 {
    font-size: 22px;
  }

  #gathering .detaile_schedule .time {
    font-size: 13px;
    line-height: 1.4;
    margin-top: 5px;
    margin-left: 10px;
  }

  #gathering .detaile_schedule .fsm02 {
    font-size: 16px;
  }

  #gathering .detaile_schedule dd.title {
    font-size: 12px;
  }

  #gathering .detaile_schedule .event_type {
    display: inline-block;
    padding: 0.1em 0.5em;
    color: #fff;
    background-color: #009fde;
  }

  #gathering .txtbox .illust_photobox {
    margin-block: min(10vw, 1.5rem);
    margin-inline: auto;
  }

  #after .after_ttl {
    display: inline-block;
  }

  #after .after_ttl_ballon {
    width: 20vw;
    height: 20vw;
    font-size: 4vw;
    left: -21vw;
  }

  #after .after_inner {
    padding: 30px 0;
  }

  #after .after_inner::after {
    width: 22vw;
    height: 26vw;
    bottom: -5vw;
  }
}

/* アコーディオン */
.p_btn--more3 {
  background: url("../img/ic_more.svg") no-repeat center center #fff;
  border: 1px solid #000;
  min-width: inherit;
  display: inline-block;
  padding: 0;
  width: 30px;
  height: 30px;
  border: 1px solid #434343;
  border-radius: 50%;
}

@media only screen and (max-width: 767px) {
  .p_btn--more3 {
    width: 20px;
    height: 20px;
    background-size: 10px;
  }
}

.p_btn--more3:before {
  display: none;
}

.p_btn--more3.__open {
  background-image: url("../img/ic_more_c.svg");
}

.p_accordionSet_u__more {
  position: relative;
  padding: 5px 35px 5px 0;
}

@media only screen and (max-width: 767px) {
  .p_accordionSet_u__more {
    padding: 5px 25px 5px 0;
  }
}

.p_accordionSet_u__more:hover {
  cursor: pointer;
}

.p_accordionSet_u__more .p_btn--more3 {
  position: absolute;
  right: 0;
  top: 5px;
}

@media only screen and (max-width: 767px) {
  .p_accordionSet_u__more .p_btn--more3 {
    top: 1rem;
  }
}

/* 過去のセミナー */
.more_seminer_ttl {
  margin: 50px 0 20px;
  text-align: center;
}

.more_seminer_ttl h3 {
  color: #e02d57;
  font-size: 1.6em;
}

.more_seminer {
  margin-bottom: 40px;
}

.more_seminer .p_accordionSet_u__more {
  display: block;
  position: relative;
  cursor: pointer;
  width: 400px;
  margin: 10px auto;
  padding: 10px 0;
  text-align: center;
  color: #e02d57;
  font-size: 1.4em;
  background: #fff;
  border: 4px solid #e02d57;
  border-radius: 2em;
}

.more_seminer .p_accordionSet_u__more .p_btn--more3 {
  position: absolute;
  right: 10px;
  top: 10px;
}

@media only screen and (max-width: 767px) {
  .more_seminer_ttl h3 {
    font-size: 1.4em;
  }

  .more_seminer {
    margin-bottom: 30px;
  }

  .more_seminer .p_accordionSet_u__more {
    width: 100%;
    margin: 10px auto;
    padding: 10px 0;
    color: #e02d57;
    font-size: 1em;
  }
}

/* -------------------------------------------------------------

      #footer フッター

---------------------------------------------------------------- */

footer {
  /* margin-top: 50px; */
  max-width: 2560px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}

footer .f_contents {
  background: #009fde;
}

.douso footer .inner {
  padding: 50px 0;
  text-align: center;
  color: #fff;
}

footer .logo {
  margin-bottom: 10px;
}

footer address {
  font-size: 12px;
}

footer .hp_link a {
  font-size: 12px;
  color: #009fde;
  background: #fff;
  padding: 10px 20px;
  display: block;
  width: 320px;
  margin: 10px auto;
  border-radius: 32px;
}

footer ul.contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 20px auto;
}

footer ul.contact li {
  width: 26%;
  margin-right: 20px;
}

footer .contact li a {
  display: block;
  color: #fff;
  padding: 8px 10px;
  border: 1px solid #fff;
  border-radius: 2em;
  font-size: 14px;
}

footer .contact li i {
  margin-right: 5px;
}

.fa,
.fas {
  font-weight: 900;
}

.fa,
.far,
.fas {
  font-family: "Font Awesome 5 Free";
}

.fa,
.fab,
.fal,
.far,
.fas {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.fa-map-marker-alt:before {
  content: "\f3c5";
}

.fa-envelope:before {
  content: "\f0e0";
}

footer .contact .freedial img {
  margin-right: 5px;
  width: 20px;
  height: 16px;
  vertical-align: text-top;
}

.copyright {
  padding: 50px 0;
  font-size: 12px;
  text-align: center;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .douso footer .inner {
    padding: 30px 0;
    text-align: center;
    color: #fff;
  }

  footer .hp_link a {
    width: 80%;
    margin: 10px auto;
    border-radius: 32px;
  }

  footer ul.contact {
    display: block;
    margin-bottom: 0;
  }

  footer ul.contact li {
    margin: 10px auto;
    width: 80%;
  }

  .copyright {
    padding: 20px 0;
    font-size: 12px;
    text-align: center;
    background: #fff;
  }
}





[class^="section_area"] {
  .section_inner {
    width: var(--innerWidth, min(100%, 860px));
    margin-inline: auto;
  }
}
/*
 *　　大同窓会
 * Date: 2025-09-19
*/
[class^="section_area__reunion"] {
  background: url(../img/expo/reunion/bg.jpg) center center / cover no-repeat;
  padding-bottom: min(10vw, 5rem);
  .section_title {
    transform: translate(0, -15%);
    text-align: center;
  }
  .lead_box {
    color: #fff;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    margin-top: min(6vw, 2rem);
  }
  .check_databox {
    margin-block: min(10vw, 5rem);
    > [class^="databox_box"] {
      display: flex;
      flex-direction: column;
      gap: min(5vw, 2rem);
      > [class^="databox_title"] {
        font-size: min(5vw, 1.75rem);
        font-weight: 900;
        text-align: center;
      }
      > [class^="databox_content"] {

      }
    }
  }
  .reunion_course_databox {
    --reunion_clmSpace: min(3vw, 1rem);
    --reunion_rowSpace: min(3vw, 1rem);
    display: flex;
    flex-wrap: wrap;
    gap: var(--reunion_rowSpace) var(--reunion_clmSpace);
    > [class^="databox_box"] {
      width: calc(100% / var(--reunion_clmWide, 2) - var(--reunion_clmSpace) / var(--reunion_clmWide, 2) * (var(--reunion_clmWide, 2) - 1));
      background: #fff;
      border: min(1vw, 5px) solid #009fde;
      border-radius: min(3vw, 1rem);
      box-sizing: border-box;
      align-content: center;
      transition: background .3s, color .3s, transform .3s;
      > [class^="databox_title"] {
        font-size: min(4.5vw, 1.15rem);
        font-weight: 700;
        text-align: center;
        padding: min(3vw, 1.15rem) min(1.5vw, 1rem);
        cursor: pointer;
        .course_name {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: min(3vw, 0.5rem);
          &:before {
            font-family: "FontAwesome";
            content: "\f00e";
            font-weight: 500;
            color: var(--hover_iconColor, var(--seminarCourse_color));
            font-size: min(4.5vw, 1.25rem);
            transition: background .3s, color .3s;
          }
        }
      }
      > [class^="databox_content"] {
        dialog.areaDialogContents {
          width: min(90%, 852px);
          border-radius: min(6vw, 2.5rem);
          border: 0px;
          box-shadow: 6px 6px 0 var(--seminarCourse_color);
          padding: min(6vw, 2.5rem) min(3vw, 2.5rem);
          &::backdrop {
            background: rgba(0,0,0, 0.5);
          }
          .close_btn {
            cursor: pointer;
            border: 2px solid var(--seminarCourse_color);
            background: var(--seminarCourse_color);
            color: #fff;
            font-size: min(3.5vw, 1rem);
            font-weight: 600;
            border-radius: 100vmax;
            text-align: center;
            width: min(30%, 150px);
            margin-inline: auto;
            margin-block: min(3vw, 1.5rem) 0;
            padding-block: min(1vw, 0.15rem);
            transition: background .3s, color .3s;
            &:hover {
              background: #fff;
              color: var(--seminarCourse_color);
            }
          }
        }
        .seminar_detail_box {
          gap: min(1.5vw, 1rem) min(3vw, 2.5rem);
          > .course_name {
            grid-column: 1 / 4;
            grid-row: 1 / 2;
            color: var(--seminarCourse_color);
            font-size: min(4.5vw, 1.25rem);
            font-weight: 700;
            [class^="name"] {
              --icon_size: min(6vw, 1.75rem);
              position: relative;
              color: var(--seminarCourse_color);
              padding-left: calc( var(--icon_size) + min(1.5vw, 0.5rem) );
              &:before {
                position: absolute;
                top: 50%;
                left: 0;
                transform: translate(0, -50%);
                content: "";
                width: var(--icon_size);
                height: auto;
                aspect-ratio: 1 / 1;
                background: var(--seminarCourse_icon) center / contain no-repeat;
              }
            }
          }
          > .teacher_photobox {
            picture {
              img {
                width: 100%;
                height: auto;
                aspect-ratio: 4 / 3;
                object-fit: cover;
              }
            }
            &:has( .teacher_photobox_inner ) {
              .teacher_photobox_inner {
                .swiper {
                  padding-bottom: min(10vw, 2.5rem);
                }
                .swiper-pagination {
                  --swiper-pagination-bottom: min(1.5vw, 0.75rem);
                  .swiper-pagination-bullet-active {
                    --swiper-pagination-color: var(--seminarCourse_color);

                  }
                }
                [class*="swiper-button"] {
                  background: var(--seminarCourse_color);
                  border-radius: 50%;
                  text-align: center;
                  align-items: center;
                  color: #fff;
                  width: min(7.5vw, 2rem);
                  height: auto;
                  aspect-ratio: 1 / 1;
                  &:after {
                    font-size: min(4vw, 1rem);
                    font-weight: 700;
                  }
                }
              }
            }
          }
          > .txtbox {
            width: 100%;
            .seminar_title {
              background: var(--seminarCourse_color);
              font-weight: 600;
              color: #fff;
              padding: min(1vw, 5px);
            }
            .teacher_list {
              display: flex;
              flex-wrap: wrap;
              margin-block: min(3vw, 1rem) 0;
              > [class^="teacher"] {
                display: flex;
                align-items: flex-end;
                font-weight: 600;
                .honor {
                  font-size: 0.75em;
                }
                &:not(:last-child) {
                  &:after {
                    content: "／";
                    margin-inline: min(1.5vw, 0.5rem);
                  }
                }
              }
            }
          }
        }
      }
      &:hover {
        &:has( > [class^="databox_title"].areaDialogTrigger ) {
          --hover_iconColor: #fff;
          background: var(--seminarCourse_color);
          color: #fff;
        }
      }
      /*個別*/
      &[class^="databox_box__sports"] {

      }
      /*カラー*/
      &[class^="databox_box__sports"] {
        /*スポーツ科学科*/
        --seminarCourse_color: #496cb5;
        --seminarCourse_icon: url(../img/icon_areaNav01.png);
      }
      &[class^="databox_box__ac"] {
        /*鍼灸科*/
        --seminarCourse_color: #dd7bb2;
        --seminarCourse_icon: url(../img/icon_areaNav03.png);
      }
      &[class^="databox_box__pt"] {
        /*理学療法*/
        --seminarCourse_color: #fbb224;
        --seminarCourse_icon: url(../img/icon_areaNav04.png);
      }
      &[class^="databox_box__ot"] {
        /*作業療法*/
        --seminarCourse_color: #ef4b47;
        --seminarCourse_icon: url(../img/icon_areaNav05.png);
      }
      &[class^="databox_box__sw"] {
        /*社会福祉*/
        --seminarCourse_color: #1ab070;
        --seminarCourse_icon: url(../img/icon_areaNav08.png);
      }
      &[class^="databox_box__psw"] {
        /*精神福祉*/
        --seminarCourse_color: #f36426;
        --seminarCourse_icon: url(../img/icon_areaNav09.png);
      }
      &[class^="databox_box__sw-psw"] {
        /*社会福祉／精神福祉*/
        --seminarCourse_color: #1ab070;
       [class^="name__sw"] {
        --seminarCourse_icon: url(../img/icon_areaNav08.png);
       }
       [class^="name__psw"] {
        --seminarCourse_color: #f36426;
        --seminarCourse_icon: url(../img/icon_areaNav09.png);
       }
        
      }
      &[class^="databox_box__judo"] {
        /*柔道整復*/
        --seminarCourse_color: #42b99d;
        --seminarCourse_icon: url(../img/icon_areaNav02.png);
      }
      &[class^="databox_box__st"] {
        /*言語聴覚*/
        --seminarCourse_color: #cd9dd5;
        --seminarCourse_icon: url(../img/icon_areaNav07.png);
      }
      &[class^="databox_box__co"] {
        /*視能訓練*/
        --seminarCourse_color: #0e84c6;
        --seminarCourse_icon: url(../img/icon_areaNav06.png);
      }
      &[class^="databox_box__hairdresser"] {
        /*美容師*/
        --seminarCourse_color: #f19d6b;
        --seminarCourse_icon: url(../img/icon_areaNav11.png);
      }
      &[class^="databox_box__totalBeauty"] {
        /*トータルビューティ*/
        --seminarCourse_color: #eb8586;
        --seminarCourse_icon: url(../img/icon_areaNav10.png);
      }
      &[class^="databox_box__careerCenter"] {
        /*キャリアセンター*/
        --seminarCourse_color: #009DCE;
        --seminarCourse_icon: url(../img/icon_areaNav12.png);
      }
      &[class^="databox_box__affairs"] {
        /*教務事務*/
        --seminarCourse_color: #009DCE;
        --seminarCourse_icon: url(../img/icon_areaNav13.png);
      }      
    }
  }
}

@media (min-width: 768px) {
  /*PC*/
  [class^="section_area__reunion"] {
    .reunion_course_databox {
      --reunion_clmWide: 3;
      .seminar_detail_box {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          grid-template-rows: auto;
        > .teacher_photobox {
          grid-column: 1 / 2;
          grid-row: 2 / 3;
          &:has( .teacher_photobox_inner ) {
            width: min(30vw, 17.5rem);
            .teacher_photobox_inner {
              [class*="swiper-button"] {
                --swiper-navigation-top-offset: 95.5%;
              }
            }
          }
        }
        > .txtbox {
          grid-column: 2 / 4;
          grid-row: 2 / 3;
        }
      }
    }
  }
}

@media (max-width: 767px) {
  /*SP*/
  [class^="section_area__reunion"] {
    .section_inner {
      box-sizing: border-box;
      padding-inline: min(3vw, 1.5rem);
    }
    .reunion_course_databox {
      --reunion_clmWide: 2;
      > [class^="databox_box"] {
        > [class^="databox_title"] {
          font-size: 4vw;
        }
      }
      .seminar_detail_box {
        display: flex;
        flex-direction: column;
        > .teacher_photobox {
          width: 100%;
          &:has( .teacher_photobox_inner ) {
            width: 100%;
            .teacher_photobox_inner {
              [class*="swiper-button"] {
                --swiper-navigation-top-offset: 97.5%;
              }
            }
          }
        }
        > .txtbox {
          grid-column: 1 / 4;
          grid-row: 2 / 3;
        }
      }
      .teacher_list {
        > [class^="teacher"] {
          font-size: 3.25vw;
        }
      }
    }
  }
}




/*
 *　　卒業生おもてなしブース
 * Date: 2025-09-22
*/
[class^="section_area__booth"] {
  background: url(../img/expo/event/bg.jpg) 100% 100% / cover no-repeat;
  padding-bottom: min(10vw, 7.5rem);
  .section_title {
    text-align: center;
    img {
      transform: translate(0, -15%);
    }
  }
  .lead_box {
    font-size: min(4vw, 1.15rem);
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 2;
  }

  .booth_databox {
    --booth_clmSpace: min(3vw, 2.5rem);
    --booth_rowSpace: min(3vw, 2.5rem);
    display: flex;
    flex-wrap: wrap;
    gap: var(--booth_rowSpace) var(--booth_clmSpace);
    margin-block: min(10vw, 5rem) 0;
    > [class^="databox_box"] {
      width: var(--custom_wide, calc(100% / var(--booth_clmWide, 2) - var(--booth_clmSpace) / var(--booth_clmWide, 2) * (var(--booth_clmWide, 2) - 1)) );
      display: flex;
      flex-direction: column;
      > [class^="databox_title"] {
        background: var(--booth_color);
        border-radius: min(1vw, 6px);
        color: #fff;
        font-size: min(4.5vw, 1.15rem);
        font-weight: 700;
        text-align: center;
        width: max-content;
        margin-inline: auto;
        padding-inline: min(3vw, 2rem);
      }
      > [class^="databox_content"] {
        
      }
      &[class*="__column"] {
        gap: min(1vw, 5px);
        .booth_photobox {
          img {
            border-radius: min(5vw, 2rem);
            border: min(1vw, 6px) solid #aacc0f;
            width: 100%;
            height: auto;
            aspect-ratio: 4 / 3;
            object-fit: cover;
          }
        }
        .booth_event_list,
        .txtbox {
          color: #fff;
          font-weight: 700;
          line-height: 1.75;
          margin-block: min(3vw, 1rem);
        }
      }
      &[class*="__wide"] {
        gap: min(3vw, 1.5rem);
        box-sizing: border-box;
        background: rgba(255,255,255, 0.65);
        border-radius: min(3vw, 1rem);
        padding: min(3vw, 2.5rem);
        > [class^="databox_content"] {
          display: flex;
          gap: min(3vw, 1rem);
        }
        .booth_photobox {
          img {
            border-radius: min(3vw, 1rem);
            object-fit: cover;
          }
        }
        .txtbox {
          font-size: min(3.25vw, 0.8rem);
          color: #738987;
        }
      }
      &[class*="__beauty"] {
        /*美容ブース*/
        --booth_color: #e88a8b;
      }
      &[class*="__sports"] {
        /*スポーツブース*/
        --booth_color: #43a3d9;
      }
      &[class*="__fair"] {
        /*縁日ブース*/
        --booth_color: #88ae2d;
      }
      &[class*="__cafe"] {
        /*Caféブース*/
        --booth_color: #f6ba02;
      }
      &[class*="__kids"] {
        /*キッズスペース*/
        --booth_color: #5bcea4;
      }
    }
    &+.notes {
      font-size: min(3.5vw, 0.85rem);
      color: #fff;
      font-weight: 700;
      text-align: right;
    }
  }
}

@media (min-width: 768px) {
  /*PC*/
  [class^="section_area__booth"] {
    .booth_databox {
      > [class^="databox_box"] {
        &[class*="__column"] {
          --booth_clmWide: 3;
        }
        &[class*="__wide"] {
          --booth_clmWide: 2;
        }
      }
    }
  }
}

@media (max-width: 767px) {
  /*SP*/
  [class^="section_area__booth"] {
    .lead_box {
      padding-inline: min(3vw, 1.5rem);
    }
    .booth_databox {
      box-sizing: border-box;
      padding-inline: min(3vw, 1.5rem);
      * {
        box-sizing: border-box;
      }
      > [class^="databox_box"] {
        flex-direction: column;
        &[class*="__column"] {
          --booth_clmWide: 1;
        }
        &[class*="__wide"] {
          --booth_clmWide: 1;
          .booth_photobox {
            flex: 1;
          }
          .txtbox {
            flex: 1.5;
          }
        }
      }
    }
  }
}
