@charset "UTF-8";


* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  position: relative;
  line-height: 1.7;
}
img {
  max-width: 100%;
  height: auto;
  transition: .3s;
}
a:hover img {
  opacity: .7;
}
.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}

/* ********** header ********** */

header {
  width: 100%;
  padding: 0 5%;
  color: #fff;
  background: #fff;
  transition: .3s;
  position: sticky;
  top: 0;
  z-index: 10;
}
header .inner {
  max-width: 1500px;
  height: 100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
header h1 {
  max-width: 495px;
}
header h1 a {
  display: flex;
  align-items: center;
}
header nav {
  margin: 0 0 0 auto;
}
header nav {
  display: block!important;
}
header ul {
  display: flex;
  align-items: center;
  gap: 40px;
}
header ul li a {
  color: #000;
  font-weight: 700;
  text-decoration: none;
  position: relative;
}
header ul li a::after {
  content: "";
  width: 0;
  height: 2px;
  position: absolute;
  right: 0;
  bottom: -5px;
  transition: .3s;
}
header ul li:nth-child(1) a::after {
  background: #d40012;
}
header ul li:nth-child(2) a::after {
  background: #0095d9;
}
header ul li:nth-child(3) a::after {
  background: #cf6d7d;
}
header ul li:nth-child(4) a::after {
  background: #d85514;
}
header ul li.current a::after,
header ul li a:hover::after {
  width: 100%;
  left: 0;
  right: auto;
}
@media screen and (max-width: 1160px) {
  header h1 {
    max-width: 400px;
  }
  header ul {
    font-size: 13px;
    gap: 20px;
  }
}
@media screen and (max-width: 900px) {
  header h1 {
    max-width: 320px;
  }
  header ul {
    font-size: 12px;
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  header {
    padding: 0;
  }
  header .inner {
    height: auto;
    min-height: 60px;
    gap: 0;
    align-items: center;
  }
  header h1 {
    max-width: 240px;
    margin: 0 0 0 5%;
  }
  header nav {
    width: 100%;
    height: 0;
    background: linear-gradient(to left, #ef8c00, #bb0662);
    transition: .5s;
    overflow: hidden;
  }
  header nav.active {
    height: 205px;

  }
  header ul {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    z-index: 10;
  }
  header ul li {
    width: 100%;
  }
  header ul li a {
    width: 100%;
    padding: 15px 5%;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    border-top: 1px solid #fff;
    display: block;
  }
  header #menu {
    width: 60px;
    height: 60px;
    margin: 0 0 0 auto;
    position: relative;
    cursor: pointer;
    transition: .3s;
    display: block;
  }
  header #menu:hover {
    opacity: .8;
  }
  header #menu span {
    position: absolute;
    left: 15px;
    width: 30px;
    height: 2px;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    background-color: #000;
    will-change: transform;
  }
  header #menu span:nth-child(1) {
    top: 19px;
  }
  header #menu span:nth-of-type(2) {
    top: 29px;
  }
  header #menu span:nth-of-type(3) {
    top: 39px;
  }
  header #menu.active span:nth-child(1) {
    transform: translateY(10px) rotate(-45deg);
  }
  header #menu.active span:nth-of-type(2) {
    opacity: 0;
  }
  header #menu.active span:nth-of-type(3) {
    transform: translateY(-10px) rotate(45deg);
  }
  header ul li a::after {
    display: none;
  }
}

/* ********** footer ********** */

footer {
  width: 100%;
  margin: 100px 0 0 0;
  padding: 50px 5%;
  color: #fff;
  background: #000;
}
footer .inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  gap: 30px;
  position: relative;
}
footer .inner .box {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
footer .inner .box h2 {
  width: 392px;
}

footer ul:first-of-type {
  margin-left: auto;
}
footer ul li {
  font-size: 13px;
  line-height: 2.4;
}
footer ul li a {
  color: #fff;
  text-decoration: none;
}
footer ul li a:hover {
  text-decoration: underline;
}
footer p.copy {
  font-size: 12px;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  footer {
    margin: 60px 0 0 0;
    padding: 50px 5%;
  }
  footer .inner {
    display: block;
  }
  footer .inner .box {
    display: block;
  }
  footer .inner .box h2 {
    max-width: 100%;
    margin: 0 0 30px 0;
  }
  footer p.copy {
    margin: 30px 0 0 0;
    position: static;
  }
}

/* ********** top ********** */

.visual {
  width: 100%;
  padding: 0 5%;
  text-align: center;
  background: url(../images/top/visual_bg.jpg) no-repeat center center / auto 100%;
}
.visual .inner {
  max-width: 1500px;
  margin: 0 auto;
  position: relative;
}
.visual a {
  width: 25%;
  transition: .3s;
  position: absolute;
  bottom: 9%;
  left: 0;
  z-index: 3;
}
.keywords {
  margin: 15px 0 0 0;
  padding: 0 5%;
  overflow: hidden;
}
.keywords .inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  position: relative;
}
.keywords .inner::after {
  content: "";
  width: 1000px;
  height: 44px;
  background: #fff;
  position: absolute;
  left: -1000px;
  top: 0;
}
.keywords h2 {
  padding: 10px 20px;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  background: linear-gradient(to right, #334adf, #8070eb);
  position: relative;
  z-index: 2;
}
.keywords .box {
  padding: 0 30px;
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
}
.keywords ul {
  display: flex;
  flex-wrap: nowrap;
  flex-shrink: 0;
  animation: loop 30s infinite linear;
}
.keywords ul:last-child {
  margin: 0;
}
.keywords ul li {
  margin: 0 40px 0 0;
  color: #727171;
  font-size: 18px;
  flex-shrink: 0;
  font-weight: 700;
}
@keyframes loop {
  0%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(-100%);
  }
}

main {
  width: 100%;
  padding: 0 5%;
}
main .inner {
  max-width: 1500px;
  margin: 0 auto;
}
#top .news {
  max-width: 1280px;
  margin: 100px auto 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#top .news .title {
  width: 200px;
}
#top .news .title h2 {
  font-family: 'Inter', sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}
#top .news .title a {
  margin: 10px 0 0 0;
  padding:  7px;
  color: #9e9f9f;
  font-size: 15px;
  text-decoration: none;
  line-height: 1;
  border: 1px solid #9e9f9f;
  display: inline-block;
  transition: .3s;
}
#top .news .title a:hover {
  color: #fff;
  background: #9e9f9f;
}
#top .news ul {
  width: calc(100% - 200px);
  border-top: 1px solid #000;
}
#top .news ul li {
  padding: 20px 0;
  border-bottom: 1px solid #000;
  display: flex;
  align-items: center;
}
#top .news ul li p {
  width: 100px;
  color: #727171;
}
#top .news ul li h3 {
  width: calc(100% - 100px);
  font-size: 15px;
}
#top .about {
  max-width: 1280px;
  margin: 120px auto 150px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#top .about .title {
  width: 45%;
}
#top .about .title h2 {
  padding: 30px 0 0 0;
  font-family: 'Inter', sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  position: relative;
  z-index: 2;
}
#top .about .title img {
  margin: -90px 0 0 0;
}
#top .about .box {
  width: 45%;
  font-size: 16px;
}
#top .about .box h3 {
  font-size: 23px;
  font-weight: 700;
}
#top .about .box p {
  margin: 20px 0 0 0;
}
#top .event {
  max-width: 1500px;
  margin: 0 auto;
  padding: 60px 0;
  border-top: 1px solid #9e9f9f;
}
#top .event h2 {
  margin: 0 0 0 5%;
  font-family: 'Inter', sans-serif;
  font-size: 120px;
  font-weight: 700;
  line-height: 1;
  position: relative;
  z-index: 2;
}
#top .event .img {
  margin: -45px 0 0 0;
}
#top .event .btn {
  max-width: 570px;
  margin: 60px auto 0;
}
#top .event .btn a {
  transition: .3s;
}
#top .event .banner {
  margin: 50px 0 0 0;
}
#top .event .banner p {
  margin: 30px 0 0 0;
  font-size: 30px;
  font-weight: 600;
  text-align: center;
  line-height: 1.5;
}
#top .event .banner p span {
  font-size: 1.1em;
  font-weight: 600;
}
#top .block {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 0 0 0;
  border-top: 1px solid #9e9f9f;
}
#top .block h2 {
  margin: 0 0 0 5%;
  font-family: 'Inter', sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}
#top .block ul {
  max-width: 1000px;
  margin: 30px auto 100px;
}
#top .block ul li + li {
  margin: 20px 0 0 0;
}
main .archive_link {
  padding: 50px 0;
  border-top: 1px solid #9e9f9f;
  border-bottom: 1px solid #9e9f9f;

}
main .archive_link p {
  margin: 0 0 20px 0;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
}
main .archive_link .flex {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}
main .archive_link a {
  padding: 15px 40px;
  color: #fff;
  font-size: 18px;
  text-decoration: none;
  border-radius: 5px;
  background: #000;
  transition: .3s;
}
main .archive_link a:hover {
  opacity: .7;
}
.organizer {
  margin: 0 0 -100px 0;
  padding: 60px 5%;
  background: #2667d7;
}
.organizer h2 {
  margin: 0 0 30px 0;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
}
.organizer .spectee {
  max-width: 310px;
  margin: 0 auto;
  display: block;
}


@media screen and (max-width: 1060px) {
  main .archive_link {
    gap: 20px 30px;
  }
  main .archive_link p {
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {

  .visual {
    padding: 0;
  }
  .visual a {
    width: 280px;
    bottom: -65px;
    left: 50%;
    transform: translate(-50%,0);
  }
  .keywords {
    margin: 90px 0 0 0;
  }
  .keywords .inner::after {
    height: 27px;
  }
  .keywords h2 {
    padding: 5px 10px;
    font-size: 10px;
  }
  .keywords ul {
    display: flex;
    flex-wrap: nowrap;
    flex-shrink: 0;
    animation: loop 30s infinite linear;
  }
  .keywords ul li {
    margin: 0 20px 0 0;
    font-size: 14px;
  }
  #top {
    overflow: hidden;
  }
  #top .news {
    margin: 40px auto 0;
  }
  #top .news .title {
    width: 100%;
  }
  #top .news .title h2 {
    font-size: 24px;
  }
  #top .news .title a {
    padding:  5px;
    font-size: 13px;
  }
  #top .news ul {
    width: 100%;
    margin: 20px 0 0 0;
  }
  #top .news ul li {
    padding: 10px 0;
    gap: 20px;
  }
  #top .news ul li h3 {
    width: calc(100% - 100px);
    font-size: 15px;
  }
  #top .news ul li p {
    width: 60px;
    font-size: 13px;
  }
  #top .news ul li h3 {
    width: calc(100% - 60px);
    font-size: 13px;
  }
  #top .about {
    margin: 60px auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #top .about .title {
    width: 100%;
    position: relative;
  }
  #top .about .title h2 {
    padding: 0;
    font-size: 24px;
    position: absolute;
    top: 10%;
    left: 0;
  }
  #top .about .title img {
    margin: 0 0 0 0;
  }
  #top .about .box {
    width: 100%;
    margin: 30px 0 0 0;
    font-size: 15px;
  }
  #top .about .box h3 {
    font-size: 18px;
  }
  #top .about .box p {
    margin: 20px 0 0 0;
  }
  #top .event {
    padding: 0 0 40px 0;
    border-top: none;
  }
  #top .event h2 {
    margin: 0;
    font-size: 40px;
  }
  #top .event .img {
    width: 112%;
    margin: -20px 0 0 -6%;
  }
  #top .event .btn {
    max-width: 570px;
    margin: 20px auto 0;
  }
  #top .event .banner {
    margin: 20px 0 0 0;
  }
  #top .event .banner p {
    margin: 20px 0 0 0;
    font-size: 16px;
  }
  #top .block {
    padding: 40px 0 0 0;
  }
  #top .block h2 {
    margin: 0;
    font-size: 24px;
  }
  #top .block ul {
    margin: 10px auto 40px;
  }
  main .archive_link {
    padding: 40px 0;
  }
  main .archive_link p {
    font-size: 16px;
  }
  main .archive_link a {
    padding: 15px 40px;
    font-size: 14px;
  }
  .organizer {
    margin: 0 0 -60px 0;
    padding: 40px 5%;
  }
  .organizer h2 {
    margin: 0 0 20px 0;
    font-size: 18px;
  }
  .organizer .spectee {
    max-width: 200px;
  }
}

/* ********** event ********** */

#event .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#event .content {
  width: calc(100% - 470px);
}
#event .form {
  width: 440px;
}
#event .description {
  margin: 40px 0 0 0;
  padding: 0 0 40px 0;
}
#event .description h2 {
  font-size: 18px;
  font-weight: 700;
}
#event .description p {
  margin: 20px 0 0 0;
  font-size: 16px;
}
#event .schedule {
  padding: 30px 0 100px 0;
  border-top: 1px solid #9e9f9f;
}
#event .title {
  margin: 0 0 40px 0;
  color: #b75474;
}
#event .title h2 {
  font-family: 'Inter', sans-serif;
  font-size: 50px;
  line-height: 1;
}
#event .title p {
  font-size: 23px;
  font-weight: 700;
  line-height: 1.4;
}
#event .schedule ul li {
  width: 100%;
}
#event .schedule ul li + li {
  margin: 40px 0 0 0;
}
#event .schedule ul li .time {
  font-family: 'Inter', sans-serif;
  position: relative;
}
#event .schedule ul li .time p {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}
#event .schedule ul li .time p span {
  margin: 0 0 0 30px;
  color: #b75474;
}
#event .schedule ul li .txt {
  width: 100%;
}
#event .schedule ul li .txt p {
  margin: 10px 0 0 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}
#event .schedule ul li .box {
  margin: 10px 0 0 0;
  padding: 30px;
  background: #fff;
}
#event .schedule ul li .box1 {
  border: 3px solid #b75474;
  background: #b75474;
}
#event .schedule ul li .box2 {
  border: 3px solid #b75474;
  background: #fff;
}
#event .schedule ul li .box3 {
  border: 3px solid #b75474;
  background: #b75474;
  color: #fff;
}
#event .schedule ul li .box .name {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#event .schedule ul li .box .name.center {
  align-items: center;
}
#event .schedule ul li .box .name .number {
  width: 100px;
  height: 100px;
  color: #b75474;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
#event .schedule ul li .box2 .name .number {
  width: 100px;
  height: 100px;
  color: #fff;
  background: #b75474;
  display: flex;
  align-items: center;
  justify-content: center;
}
#event .schedule ul li .box .name .number p {
  padding: 10px 0 0 0;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  text-align: center;
  line-height: 1.2;
}
#event .schedule ul li .box .name .number p span {
  font-size: 38px;
  display: block;
}
#event .schedule ul li .box .name dl {
  width: calc(100% - 120px);
}
#event .schedule ul li .box .name dl dt {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
#event .schedule ul li .box .name dl dd {
  margin: 5px 0 0 0;
  font-size: 18px;
  line-height: 1.5;
}
#event .schedule ul li .box .detail + .name {
  margin: 40px 0 0 0;
  padding: 40px 0 0 0;
  border-top: 1px solid #c0c0c1;
}
#event .schedule ul li .box .detail {
  margin: 20px 0 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
#event .schedule ul li .box .detail figure {
  margin: -120px 0 0 0;
  width: 160px;
}
#event .schedule ul li .box .detail dl {
  width: calc(100% - 180px);
}
#event .schedule ul li .box3 .detail dl {
  width: 100%;
}
#event .schedule ul li .box .detail dl dt {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
#event .schedule ul li .box .detail dl dd {
  margin: 5px 0 0 0;
  font-size: 16px;
}
#event .schedule ul li .box .company {
  margin: 20px 0 0 0;
  padding: 20px;
  background: #e8e8e9;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#event .schedule ul li .box1 .company {
  background: #b75474;
}
#event .schedule ul li .box .company figure {
  margin: 0 0 0 0;
  width: 120px;
}
#event .schedule ul li .box .company .company_txt {
  width: calc(100% - 140px);
  font-size: 14px;
}
#event .schedule ul li .box .company .company_txt .soon{
  width: calc(100% - 140px);
  font-size: 14px;
  color:transparent;
}
#event .schedule ul li .box .company .url {
  width: 100%;
  margin: 10px 0 0 0;
}
#event .schedule ul li .box .company .url a {
  color: #000;
  text-decoration: none;
}
#event .schedule ul li .box .company .url a:hover {
  text-decoration: underline;
}
#event .schedule ul li .box .image {
  margin: 20px 0 0 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}
#event .schedule ul li .box .img {
  width: calc(20% - 8px);
}

#event .schedule ul li .box .img a {
  color: #fff;
  text-decoration: none;
  display: block;
}

#event .schedule ul li .box .img p {
  margin: 5px 0 0 0;
  font-weight: 700;
  text-align: center;
}

/* ---------- modal ---------- */
#event .modal {
  display: none;
}
.modaal-container {
  max-width: 600px;
}
.modal_inner dl {
  margin: 0 0 20px 0;
}
.modal_inner dl dt {
  font-size: 22px;
  font-weight: 600;
}
.modal_inner dl dd {
  font-size: 16px;
  line-height: 1.4;
}
.modal_inner .flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.modal_inner .flex .img {
  width: calc(50% - 15px);
}
.modal_inner .flex .txt {
  width: calc(50% - 15px);
}
.modal_inner .flex .txt p {
  font-size: 15px;
}
.modal_inner .flex .txt p + p {
  margin: 10px 0 0 0;
}
.modal_inner .flex .txt a {
color: #000;
text-decoration: underline;
}
.modal_inner .flex .txt a:hover {
  text-decoration: none;
}
@media screen and (max-width: 768px) {
.modal_inner dl dt {
  font-size: 18px;
}
.modal_inner dl dd {
  font-size: 15px;
}
.modal_inner .flex .img {
  max-width: 250px;
  width: 100%;
  margin: 0 auto 15px;
}
.modal_inner .flex .txt {
  width: 100%;
}
.modal_inner .flex .txt p {
  font-size: 14px;
}


}




#event .partner {
  padding: 30px 0 100px 0;
  border-top: 1px solid #9e9f9f;
}
#event .partner ul {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  gap: 12px;
}
#event .partner ul li {
  width: calc(25% - 10px);
}
#event .partner ul li a {
  color: #000;
  text-decoration: none;
  text-align: center;
  display: block;
}
#event .partner ul li a p {
  margin: 5px 0 0 0;
  font-size: 16px;
  font-weight: 700;
}
#event .notice {
  padding: 30px 0 100px 0;
  border-top: 1px solid #9e9f9f;
}
#event .notice h3 {
  font-size: 16px;
  font-weight: 700;
}
#event .notice ul {
  margin: 20px 0 0 0;
}
#event .notice ul li {
  margin: 0 0 15px 0;
  padding: 0 0 25px 0;
  position: relative;
}
#event .notice ul li::after {
  content: "";
  width: 20px;
  height: 11px;
  background: url(../images/event/step_arrow.jpg) no-repeat center center / 100% 100%;
  position: absolute;
  left: 21px;
  bottom: 0
}
#event .notice ul li:last-child::after {
  display: none;
}
#event .notice ul li dl {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#event .notice ul li dl dt {
  width: 65px;
}
#event .notice ul li dl dd {
  width: calc(100% - 85px);
  font-size: 16px;
}
#event .outline {
  padding: 30px 0 100px 0;
  border-top: 1px solid #9e9f9f;
}
#event .notice table,
#event .outline table {
  width: 100%;
  font-size: 16px;
}
#event .notice table tr,
#event .outline table tr {
  border-bottom: 1px solid #989899;
}
#event .notice table th,
#event .outline table th {
  width: 220px;
  padding: 10px 0;
  text-align: left;
}
#event .notice table td,
#event .outline table td {
  padding: 10px 0;
}
#event .btn a {
  width: 420px;
  margin: 0 auto;
  padding: 15px 0;
  color: #fff;
  font-size: 18px;
  text-align: center;
  text-decoration: none;
  background: #000;
  display: block;
  transition: .3s;
}
#event .btn a:hover {
  opacity: .7;
}
#event .form .inner {
  padding: 10px;
  border-radius: 8px;
  background: #ffd300;
  position: sticky;
  top: 100px;
}
#event .form .block {
  width: 100%;
  background: #fff;
  border: 1px solid #fff;
}
#event .form h3 {
  padding: 20px 0;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}
#event .form iframe {
  width: 100%;
  height: calc(100vh - 220px);
}




#event .gform .contact__list {
  height: calc(100vh - 220px);
  padding: 0 20px 30px;
  overflow-y: scroll;
}
#event .gform .contact__list::-webkit-scrollbar{
  display: none;
  /* width: 8px; */
}
/*
#event .gform .contact__list::-webkit-scrollbar-track{
  background-color: #f0f0f0;
}
#event .gform .contact__list::-webkit-scrollbar-thumb{
  background-color: #333;
}
*/
#event .gform .ttl {
  margin: 0 0 5px 0;
}
#event .gform .ttl :is(label,p) {
  font-size: 15px;
  font-weight: 700;
  display: block;
}
#event .gform .ttl :is(label,p) span {
  color: #ff0000;
}
#event .gform :is(input[type=text],input[type=email],input[type=tel]) {
  width: 100%;
  padding: 8px;
  border-radius: 3px;
  border: 1px solid #bbb;
  background: #f3f3f3;
}
#event .gform .contact__item {
  margin: 0 0 15px 0;
}
#event .gform .contact__item .checkbox {
  margin: 0 0 7px 0;
}
#event .gform .contact__item .checkbox label {
  font-size: 14px;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
}
#event .gform .contact__item .checkbox label input {
  margin: 5px 5px 0 0;
}
#event .gform .contact__item select {
  width: 100%;
  padding: 8px;
  border-radius: 3px;
  border: 1px solid #bbb;
  background: #f0f0f0;
}
#event .gform .submit-btn input {
  width: 100%;
  margin: 20px auto 0;
  padding: 15px 40px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 5px;
  border: none;
  background: linear-gradient(to right, #ef8c00, #bb0662);
  display: block;
  transition: .3s;
  cursor: pointer;
}
#event .gform .submit-btn input:hover {
  opacity: .7;
}

@media screen and (max-width: 1200px) {
  #event .content {
    width: calc(100% - 380px);
  }
  #event .form {
    width: 350px;
  }
}
@media screen and (max-width: 980px) {
  #event {
    overflow: clip;
  }
  #event .content {
    width: 100%;
  }
  #event .content .event_visual {
    width: 112%;
    margin: 0 0 0 -6%;
  }
  #event .description {
    margin: 30px 0 0 0;
    padding: 0 0 30px 0;
  }
  #event .description h2 {
    font-size: 16px;
  }
  #event .description p {
    font-size: 14px;
  }
  #event .schedule {
    padding: 30px 0 60px 0;
  }
  #event .title {
    margin: 0 0 30px 0;
  }
  #event .title h2 {
    font-size: 26px;
  }
  #event .title p {
    font-size: 14px;
  }
  #event .schedule ul li {
    width: 100%;
  }
  #event .schedule ul li + li {
    margin: 30px 0 0 0;
  }
  #event .schedule ul li .time p {
    font-size: 22px;
  }
  #event .schedule ul li .time p span {
    margin: 0 0 0 20px;
  }
  #event .schedule ul li .txt p {
    font-size: 18px;
  }
  #event .schedule ul li .box {
    padding: 10px;
  }
  #event .schedule ul li .box .name .number {
    width: 60px;
    height: 60px;
  }
  #event .schedule ul li .box2 .name .number {
    width: 60px;
    height: 60px;
  }
  #event .schedule ul li .box .name .number p {
    padding: 5px 0 0 0;
    font-size: 10px;
  }
  #event .schedule ul li .box .name .number p span {
    font-size: 24px;
  }
  #event .schedule ul li .box .name dl {
    width: calc(100% - 70px);
  }
  #event .schedule ul li .box .name dl dt {
    font-size: 18px;
  }
  #event .schedule ul li .box .name dl dd {
    font-size: 13px;
  }
  #event .schedule ul li .box .detail + .name {
    margin: 30px 0 0 0;
    padding: 30px 0 0 0;
  }
  #event .schedule ul li .box .detail {
    margin: 10px 0 0 0;
    display: block;
  }
  #event .schedule ul li .box .detail figure {
    width: 120px;
    margin: 0 auto 10px;
  }
  #event .schedule ul li .box .detail dl {
    width: 100%;
  }
  #event .schedule ul li .box3 .detail dl {
    width: 100%;
  }
  #event .schedule ul li .box .detail dl dt {
    font-size: 16px;
  }
  #event .schedule ul li .box .detail dl dd {
    font-size: 13px;
  }
  #event .schedule ul li .box .company {
    margin: 10px 0 0 0;
    padding: 15px;
    display: block;
  }
  #event .schedule ul li .box .company figure {
    width: 120px;
    margin: 0 auto 10px;
  }
  #event .schedule ul li .box .company .company_txt {
    width: 100%;
    font-size: 12px;
  }
  #event .schedule ul li .box .image {
    margin: 20px 0 0 0;
    gap: 12px;
  }
  #event .schedule ul li .box .img {
    width: calc(33.33% - 8px);
  }
  #event .schedule ul li .box .img img {
    width: 100%;
  }
  #event .schedule ul li .box .img p {
    font-size: 12px;
  }
  #event .partner {
    padding: 30px 0 60px 0;
  }
  #event .partner ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
  }
  #event .partner ul li {
    width: calc(50% - 10px);
    margin: 0 auto;
  }
  #event .partner ul li a p {
    font-size: 13px;
  }
  #event .notice {
    padding: 30px 0 60px 0;
  }
  #event .notice h3 {
    font-size: 14px;
  }
  #event .notice ul {
    margin: 20px 0 0 0;
  }
  #event .notice ul li {
    margin: 0 0 10px 0;
    padding: 0 0 20px 0;
  }
  #event .notice ul li::after {
    width: 16px;
    height: 8px;
    left: 16px;
  }
  #event .notice ul li dl dt {
    width: 50px;
  }
  #event .notice ul li dl dd {
    width: calc(100% - 60px);
    font-size: 13px;
  }
  #event .outline {
    padding: 30px 0 60px 0;
  }
  #event .notice table,
  #event .outline table {
    font-size: 12px;
  }
  #event .notice table th,
  #event .outline table th {
    width: 110px;
  }
  #event .notice table td,
  #event .outline table td {
    padding: 10px 0 10px 10px;
  }
  #event .btn {
    margin: 0 0 40px 0;
  }
  #event .btn a {
    width: 300px;
    margin: 0 auto;
    font-size: 13px;
  }
  #event .btn a:hover {
    opacity: .7;
  }
  #event .banner {
    width: 112%;
    margin: 0 0 0 -6%;
    text-align: center;
    background: #ffd300;
    position: sticky;
    bottom: 0;
    z-index: 3;
  }
  #event .banner a {
    padding: 10px 0;
    color: #000000;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    display: block;
  }
  #event .form {
    max-width: 440px;
    width: 100%;
    margin: -20px auto 0;
    padding: 60px 0 0 0;
  }
  #event .form .inner {
    margin: 0 auto;
    padding: 10px;
    border-radius: 8px;
    position: static;
  }
  #event .form iframe {
    width: 100%;
    height: 1400px;
  }
  #event .gform .contact__list {
    height: auto;
    padding: 0 20px 30px;
    overflow-y: auto;
  }
}

/* ********** sub title ********** */

.h1_title {
  padding: 30px 5%;
  text-align: center;
}
.h1_title h1 {
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 47px;
  font-weight: 700;
  line-height: 1.2;
}
.h1_title p {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}
.h1_title.interview {
  background: #0095d9;
}
.h1_title.report {
  background: #cf6d7d;
}
@media screen and (max-width: 768px) {
  .h1_title {
    padding: 25px 5%;
  }
  .h1_title h1 {
    font-size: 26px;
    line-height: 1.4;
  }
  .h1_title p {
    font-size: 15px;
    line-height: 1.4;
  }
}

/* ********** sub title ********** */

#archive .inner {
  max-width: 900px;
  padding: 60px 0 100px;
}
#archive ul li + li {
  margin: 20px 0 0 0;
}
@media screen and (max-width: 768px) {
  #archive .inner {
    padding: 30px 0 60px;
  }
}

/* ********** interview ********** */

#interview a {
  color: #000;
}
#interview a:hover {
  text-decoration: none;
}
#interview .block {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 0 0 0;
}
#interview .block h2 {
  padding: 0 0 10px 0;
  font-size: 20px;
  font-weight: 700;
  border-bottom: 1px solid #146e8b;
}
#interview .block .desc {
  margin: 30px 0 0 0;
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
}
#interview .block .image {
  max-width: 550px;
  margin: 30px auto 0;
}
#interview .block dl {
  margin: 30px 0 0 0;
  text-align: center;
}
#interview .block dl dt {
  width: 240px;
  margin: 0 auto;
}
#interview .content {
  margin: 50px 0 0 0;
  font-size: 19px;
}
#interview .content h3 {
  margin: 60px 0 0 0;
  color: #146e8b;
  font-size: 22px;
  font-weight: 700;
}
#interview .content h4 {
  margin: 30px 0 0 0;
  font-weight: 700;
}
#interview .content h4:before {
  content: "― ";
  font-weight: 700;
}
#interview .content p {
  margin: 20px 0;
}
#interview .content .col2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#interview .content .col2 .txt {
  width: 55%;
}
#interview .content .col2 figure {
  width: 40%;
  margin: 20px 0;
}
#interview .content .col2 figure figcaption {
  margin: 5px 0 0 0;
  font-size: 14px;
}
#interview .info {
  margin: 50px 0 0 0;
  padding: 15px;
  border: 1px solid #146e8b;
  display: flex;
  justify-content: space-between;
}
#interview .info figure {
  width: 140px;
}
#interview .info .txt {
  width: calc(100% - 155px);
}
#interview .info .txt h3 {
  margin: 0 0 5px 0;
  font-size: 20px;
  font-weight: 700;
}
#interview .info .txt p + p {
  margin: 10px 0 0 0;
}
@media screen and (max-width: 768px) {
  #interview .block {
    max-width: 900px;
    margin: 0 auto;
    padding: 30px 0 0 0;
  }
  #interview .block h2 {
    font-size: 18px;
  }
  #interview .block .desc {
    margin: 20px 0 0 0;
    font-size: 20px;
  }
  #interview .block .image {
    margin: 20px auto 0;
  }
  #interview .block dl {
    margin: 30px 0 0 0;
  }
  #interview .content {
    margin: 40px 0 0 0;
    font-size: 14px;
  }
  #interview .content h3 {
    margin: 40px 0 0 0;
    font-size: 18px;
  }
  #interview .content h4 {
    margin: 20px 0 0 0;
  }
  #interview .content .col2 .txt {
    width: 100%;
  }
  #interview .content .col2 figure {
    width: 100%;
  }
  #interview .content .col2 figure figcaption {
    font-size: 12px;
  }
  #interview .info {
    margin: 40px 0 0 0;
    padding: 15px;
    display: block;
  }
  #interview .info figure {
    width: 140px;
    margin: 0 auto 20px;
  }
  #interview .info .txt {
    width: 100%;
  }
  #interview .info .txt h3 {
    font-size: 16px;
  }
}

/* ********** report ********** */

#report .inner {
  max-width: 900px;
  padding: 60px 0 100px 0;
}
#report .title {
  margin: 0 0 60px 0;
  text-align: center;
}
#report h2 {
  color: #6f68a0;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  border-bottom: 3px solid #6f68a0;
  display: inline-block;
}
#report h2.color2023 {
  color: #d27eaa;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  border-bottom: 3px solid #d27eaa;
  display: inline-block;
}
#report h2.color2024 {
  color: #e78462;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  border-bottom: 3px solid #e78462;
  display: inline-block;
}
#report .desc {
  margin: 0 auto 30px;
  padding: 0 0 40px 0;
  border-bottom: 1px solid #183768;
}
#report .desc h3 {
  margin: 0 0 30px 0;
  font-size: 28px;
  font-weight: 700;
  text-align: center;
}
#report .desc h4 {
  margin: 40px 0 10px 0;
  font-size: 19px;
  font-weight: 700;
}
#report .desc p {
  font-size: 19px;
}
#report .block {
  margin: 0 0 40px 0;
  padding: 0 0 40px 0;
  border-bottom: 1px solid #183768;
}
#report .block .p1 {
  color: #183768;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
}
#report .block .p2 {
  font-size: 20px;
  font-weight: 700;
}
#report .block .p3 {
  font-size: 16px;
}
#report .block .p4 {
  font-size: 18px;
  font-weight: 700;
}
#report .block h3 {
  margin: 30px 0;
  padding: 18px 30px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  background: #eaeaeb;
  display: flex;
  align-items: center;
}
#report .block h3 span {
  margin: 0 20px 0 0;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
}
#report .block .flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
#report .block .flex p {
  font-size: 18px;
}
#report .block .flex .txt {
  width: 55%;
}
#report .block .flex .img {
  width: 42%;
}
#report .block .float {
  overflow: hidden;
}
#report .block .float p {
  font-size: 18px;
}
#report .block .float img {
  width: 42%;
  margin: 0 0 10px 3%;
  float: right;
}
#report .block .link a {
  margin: 30px 0 0 0;
  padding: 15px 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  background: #6f68a0;
  display: block;
  transition: .3s;
}
#report .block .link2023 a {
  margin: 30px 0 0 0;
  padding: 15px 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  background: #d27eaa;
  display: block;
  transition: .3s;
}
#report .block .link2024 a {
  margin: 30px 0 0 0;
  padding: 15px 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  background: #e78462;
  display: block;
  transition: .3s;
}
#report .block .link a:hover {
  opacity: .7;
}
#report .block .link2023 a:hover {
  opacity: .7;
}
#report .block .link2024 a:hover {
  opacity: .7;
}
#report .block .link a span {
  margin: 0 20px 0 0;
  font-weight: 700;
}
#report .block .link2023 a span {
  margin: 0 20px 0 0;
  font-weight: 700;
}
#report .block .link2024 a span {
  margin: 0 20px 0 0;
  font-weight: 700;
}
#report .conc h3 {
  margin: 0 0 10px 0;
  font-size: 19px;
  font-weight: 700;
}
#report .conc p {
  font-size: 18px;
}
#report .conc p + p {
  margin: 20px 0 0 0;
}
#report .conc .img {
  max-width: 500px;
  margin: 40px auto;
}
#report .conc .box {
  padding: 30px;
  background: #eaeaeb;
}
#report .conc .p1 {
  color: #183768;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #report .inner {
    padding: 30px 0 60px 0;
  }
  #report .desc {
    margin: 0 0 30px 0;
    padding: 0 0 40px 0;
  }
  #report .desc h3 {
    margin: 0 0 20px 0;
    font-size: 17px;
  }
  #report .desc h4 {
    margin: 20px 0 10px 0;
    font-size: 16px;
  }
  #report .desc p {
    font-size: 14px;
  }
  #report .block {
    margin: 0 0 30px 0;
    padding: 0 0 30px 0;
  }
  #report .block .p1 {
    font-size: 14px;
  }
  #report .block .p2 {
    font-size: 18px;
  }
  #report .block .p3 {
    font-size: 14px;
  }
  #report .block .p4 {
    font-size: 16px;
  }
  #report .block h3 {
    margin: 20px 0;
    padding: 10px 20px;
    font-size: 16px;
  }
  #report .block h3 span {
    margin: 0 15px 0 0;
    font-size: 14px;
  }
  #report .block .flex p {
    font-size: 14px;
  }
  #report .block .flex .txt {
    width: 100%;
  }
  #report .block .flex .img {
    width: 100%;
    margin: 0 0 20px 0;
  }
  #report .block .float p {
    font-size: 14px;
  }
  #report .block .float img {
    width: 100%;
    margin: 0 0 20px 0;
    float: none;
  }
  #report .block .link a {
    margin: 20px 0 0 0;
    padding: 10px 20px;
    font-size: 14px;
  }
  #report .block .link a span {
    display: block;
  }
  #report .conc h3 {
    font-size: 16px;
  }
  #report .conc p {
    font-size: 14px;
  }
  #report .conc .img {
    margin: 30px auto;
  }
  #report .conc .box {
    padding: 20px;
  }
}



/* ********** news ********** */

#news .block {
  max-width: 1060px;
  margin: 0 auto;
  padding: 100px 0;
}
#news .block h2 {
  font-family: 'Inter', sans-serif;
  font-size: 36px;
  text-align: center;
}
#news .block ul {
  margin: 40px 0 0 0;
  border-top: 1px solid #9e9f9f;
}
#news .block ul li {
  padding: 20px 0;
  border-bottom: 1px solid #9e9f9f;
  display: flex;
  align-items: center;
}
#news .block ul li p {
  width: 100px;
  color: #727171;
}
#news .block ul li h3 {
  width: calc(100% - 100px);
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  #news .block {
    padding: 30px 0 60px;
  }
  #news .block h2 {
    font-size: 24px;
  }
  #news .block ul {
    width: 100%;
    margin: 20px 0 0 0;
  }
  #news .block ul li {
    padding: 10px 0;
    gap: 20px;
  }
  #news .block ul li h3 {
    width: calc(100% - 100px);
    font-size: 15px;
  }
  #news .block ul li p {
    width: 60px;
    font-size: 13px;
  }
  #news .block ul li h3 {
    width: calc(100% - 60px);
    font-size: 13px;
  }
}

/* ********** contact ********** */

#contact .block {
  max-width: 660px;
  margin: 0 auto;
  padding: 100px 0;
}
#contact .block h2 {
  margin: 0 0 50px 0;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
}
#contact .block p.txt {
  text-align: center;
}
#contact .block .form {
  margin: 60px 0 0 0;
}
#contact .block .form dl {
  margin: 0 0 20px 0;
  font-size: 17px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#contact .block .form dl dt {
  width: 220px;
}
#contact .block .form dl dt span.red {
  color: #e00012;
}
#contact .block .form dl dd {
  width: calc(100% - 220px);
}
#contact .block .form dl dd :is(input[type="text"],input[type="email"],input[type="tel"]) {
  width: 100%;
  padding: 10px;
  font-size: 17px;
  border: 1px solid #999a9a;
}
#contact .block .form dl dd textarea {
  width: 100%;
  height: 250px;
  padding: 10px;
  font-size: 17px;
  border: 1px solid #999a9a;
}
#contact .block .form .box {
  margin: 30px 0 0 0;
  text-align: center;
}
#contact .block .form .box p {
  margin: 0 0 30px 0;
}
#contact .block .form .box p a {
  color: #000;
}
#contact .block .form .box p a:hover {
  text-decoration: none;
}
#contact .block .form .box .submit {
  margin: 20px 0 0 0;
}
#contact .block .form .box .submit input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  width: 200px;
  padding: 15px 0;
  color: #fff;
  font-weight: 700;
  letter-spacing: 7px;
  border-radius: 0;
  border: none;
  background: #0c2f54;
  cursor: pointer;
  transition: .3s
}
#contact .block .form .box .submit input[type="submit"]:hover {
  opacity: .7;
}

/* ********** page ********** */

#page h2 {
  margin: 100px 0 50px 0;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
}
#page .block {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 0 100px 0;
}
#page .block h3 {
  margin: 30px 0 0 0;
  font-size: 16px;
  font-weight: 700;
}
#page .block a {
color: #000;
}
#page .block a:hover {
  text-decoration: none;
}
#page .block p {
  margin: 10px 0 0 0;
}
#page .block ul li {
  margin: 0 0 0 1em;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {

  /* ********** contact ********** */

  #contact .block {
    padding: 60px 0;
  }
  #contact .block h2 {
    margin: 0 0 30px 0;
    font-size: 18px;
  }
  #contact .block .form {
    margin: 60px 0 0 0;
  }
  #contact .block .form dl {
    margin: 0 0 20px 0;
    font-size: 14px;
  }
  #contact .block .form dl dt {
    width: 100%;
    margin: 0 0 5px 0;
  }
  #contact .block .form dl dd {
    width: 100%;
  }
  #contact .block .form dl dd input[type="text"] {
    font-size: 14px;
  }
  #contact .block .form dl dd textarea {
    height: 200px;
    font-size: 14px;
  }
  #contact .block .form .box {
    margin: 20px 0 0 0;
    text-align: center;
  }
  #contact .block .form .box p {
    margin: 0 0 30px 0;
    font-size: 12px;
  }
  #contact .block .form .box p a {
    color: #000;
  }
  #contact .block .form .box p a:hover {
    text-decoration: none;
  }
  #contact .block .form .box .submit {
    margin: 20px 0 0 0;
  }

  /* ********** page ********** */

  #page h2 {
    margin: 60px 0 30px 0;
    font-size: 18px;
    text-align: center;
  }
  #page .block {
    padding: 0 0 60px 0;
    font-size: 13px;
  }
  #page .block h3 {
    margin: 30px 0 0 0;
    font-size: 15px;
  }
  #page .block a:hover {
    text-decoration: none;
  }
  #page .block p {
    margin: 10px 0 0 0;
  }
  #page .block ul li {
    margin: 0 0 0 1em;
    text-indent: -1em;
  }



}
