@charset "UTF-8";

#wpadminbar {
  position: fixed!important;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
@media screen and (max-width: 1020px) {
  html {
    scroll-padding-top: 60px;
  }
}
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: linear-gradient(90deg, #0e1063 0%, #01000f 75%);
  position: sticky;
  top: 0;
  z-index: 10;
}

body.customize-support header {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.customize-support header {
    top: 46px;
  }
}

header .inner {
  max-width: 1800px;
  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;
  display: flex;
  gap: 20px;
}
header ul {
  display: flex;
  align-items: center;
  gap: 30px;
}
header ul li a {
  color: #fff;
  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;
}
header p a {
  padding: 6px 20px;
  color: #241e1c;
  font-weight: 700;
  text-decoration: none;
  border-radius: 30px;
  background: #ffe926;
  display: inline-block;
  transition: opacity .5s;
}
header p a:hover {
  opacity: .7;
}
@media screen and (max-width: 1360px) {
  header h1 {
    max-width: 400px;
  }
  header nav {
    font-size: 13px;
    gap: 20px;
  }
  header ul {
    font-size: 13px;
    gap: 20px;
  }
}
@media screen and (max-width: 1180px) {
  header h1 {
    max-width: 300px;
  }
  header nav {
    font-size: 12px;
    gap: 15px;
  }
  header ul {
    gap: 15px;
  }
}
@media screen and (max-width: 1020px) {
  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(rgba(21, 84, 175, 0.5), rgba(21, 84, 175, 0.5)),
    linear-gradient(90deg, #0e1063 0%, #01000f 75%);
    transition: .5s;
    overflow: hidden;
    flex-direction: column;
    position: absolute;
    top: 60px;
  }
  header nav.active {
    height: 280px;

  }
  header ul {
    width: 100%;
    border-bottom: 1px solid #fff;
    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: #ffe926;
    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;
  }
  header p {
    text-align: center;
  }
}

/* ********** 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: 30px 0 0 0;
  text-align: center;
  background: linear-gradient(90deg, #0e1063 0%, #01000f 75%);
}
.visual .outer {
  padding: 0 3%;
  background: url(../images/top/visual_bg.png) no-repeat center center / auto 100%;
}
.visual .inner {
  container-type: inline-size;
  max-width: 1880px;
  margin: 0 auto;
  position: relative;
}
.visual .btn {
  position: absolute;
  top: 19%;
  left: 50%;
  transform: translate(-50%,0);
  z-index: 3;
}
.visual .btn a {
  padding: .5cqw 3cqw;
  color: #241e1c;
  font-size: 1.6cqw;
  font-weight: 700;
  text-decoration: none;
  border-radius: 50px;
  background: #ffe926;
  display: inline-block;
  transition: opacity .5s;
}
.visual .btn a:hover {
  opacity: .7;
}

@media screen and (max-width: 768px) {
  .visual {
    padding: 20px 0 40px;
  }
  .visual .outer {
    padding: 0;
    background: none;
  }
  .visual .btn {
    top: 9%;
  }
  .visual .btn a {
    padding: .8cqw 5cqw;
    color: #241e1c;
    font-size: 4cqw;
  }
}

.keywords {
  padding: 15px 0 0 20px;
  overflow: hidden;
  background: linear-gradient(90deg, #0e1063 0%, #01000f 75%);
}
.keywords .inner {
  /* max-width: 1500px; */
  margin: 0 auto;
  display: flex;
  align-items: center;
}
.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 {
  width: 100vw;
  flex-shrink: 0;
  padding: 0 30px;
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  overflow: hidden;
}
.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: #fff;
  font-size: 18px;
  flex-shrink: 0;
  font-weight: 700;
}
@keyframes loop {
  0%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(-100%);
  }
}

@media screen and (max-width: 768px) {
  .keywords {
    margin: 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 {
  padding: 0;
}
#top .about {
  padding: 80px 5% 180px;
  color: #fff;
  background: url(../images/top/about_bg.png) no-repeat center bottom / auto 265px,
    linear-gradient(90deg, #0e1063 0%, #01000f 75%);
}
#top .about .inner {
  max-width: 1060px;
  margin: 0 auto;
}
#top .about .flex {
  display: flex;
}
#top .about .flex .left {
  width: 440px;
  color: #43c1ff;
  line-height: 1.4;
}
#top .about .flex .left h2 {
  font-size: 40px;
  font-weight: 700;

}
#top .about .flex .left p {
  margin: 20px 0 0 0;
  padding: 20px 0;
  font-size: 26px;
  font-weight: 700;
  position: relative;
}
#top .about .flex .left p::before {
  content: "";
  width: 40px;
  height: 1px;
  background: #43c1ff;
  position: absolute;
  top: 0;
  left: 0;
  will-change: transform;
}
#top .about .flex .left p::after {
  content: "";
  width: 40px;
  height: 1px;
  background: #43c1ff;
  position: absolute;
  bottom: 0;
  left: 0;
  will-change: transform;
}
#top .about .flex .right {
  width: calc(100% - 440px);
  padding: 5px 0 0 0;
}
#top .about .flex .right p {
  font-size: 15px;
}
#top .about .flex .right p + p {
  margin: 20px 0 0 0;
}
#top .about .flex .right p span {
  color: #43c1ff;
  font-weight: 700;
}

@media screen and (max-width: 1020px) {
  #top .about .flex {
    display: flex;
    flex-direction: column;
  }
  #top .about .flex .left {
    width: 100%;
  }
  #top .about .flex .left br {
    display: none;
  }
  #top .about .flex .right {
    width: 100%;
    padding: 20px 0 0 0;
  }
}

@media screen and (max-width: 768px) {
  #top .about {
    padding: 40px 5% 80px;
    background: url(../images/top/about_bg.png) no-repeat center bottom / auto 90px,
    linear-gradient(90deg, #0e1063 0%, #01000f 75%);
  }
  #top .about .flex .left {
    text-align: center;
  }
  #top .about .flex .left h2 {
    font-size: 21px;
  }
  #top .about .flex .left p {
    margin: 15px 0 0 0;
    padding: 15px 0;
    font-size: 14px;
  }
  #top .about .flex .left p::before {
    width: 20px;
    top: 0;
    left: calc(50% - 10px);
  }
  #top .about .flex .left p::after {
    width: 20px;
    bottom: 0;
    left: calc(50% - 10px);
  }
  #top .about .flex .right p {
    font-size: 14px;
  }
}

#top .schedule {
  padding: 0 0 40px 0;
  background: linear-gradient(90deg, #0e1063 0%, #01000f 75%);
}
#top .schedule .title {
  padding: 80px 0 50px;
  color: #fff;
  text-align: center;
}
#top .schedule .title h2 {
  font-family: 'Inter', sans-serif;
  font-size: 50px;
  line-height: 1;
}
#top .schedule .title p {
  font-size: 23px;
  font-weight: 700;
  line-height: 1.4;
}
#top .schedule .greeting {
  padding: 0 5% 20px;
}
#top .schedule .greeting .inner {
  max-width: 1080px;
  margin: 0 auto;
}
#top .schedule .time {
  padding: 15px 30px;
  color: #fff;
  font-family: 'Inter', sans-serif;
  position: relative;
}
#top .schedule .time p {
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
}
#top .schedule .time p span {
  margin: 0 0 0 30px;
  font-size: 22px;
  font-weight: 700;
}
#top .schedule .content {
  padding: 30px 5%;
}
#top .schedule .content .inner {
  max-width: 1080px;
  margin: 0 auto;
  background: #fff;
}
#top .schedule .content .time {
  color: #241e1c;
}
#top .schedule .content.bg1 {
  background: rgba(21, 84, 175, .5);
}
#top .schedule .content.bg1 .time {
  background: url(../images/top/time_bg1.jpg) no-repeat left center / cover;
}
#top .schedule .content.bg2 .time {
  background: url(../images/top/time_bg2.jpg) no-repeat left center / cover;
}
#top .schedule .content .item {
  padding: 30px 50px 30px 30px;
  line-height: 1.4;
  position: relative;
}
#top .schedule .content .item + .item {
  margin: 30px 0 0 0;
}
#top .schedule .content .item::before {
  content: "";
  width: 420px;
  height: 100%;
  clip-path: polygon(45% 0, 100% 0, 100% 100%, 0 100%);
  position: absolute;
  top: 0;
  right: 0;
}
#top .schedule .content.bg1 .item {
  background: #fff;
}
#top .schedule .content.bg1 .item::before {
  background: #e1f0f7;
}
#top .schedule .content.bg2 .item {
  background: #e1f0f7;
}
#top .schedule .content.bg2 .item::before {
  background: #fff;
}
#top .schedule .content .item p.lead {
  margin: 0 0 10px 0;
  font-size: 26px;
  font-weight: 700;
  position: relative;
}
#top .schedule .content .item h3 {
  margin: 0 0 30px 0;
  color: #1554af;
  font-size: 34px;
  font-weight: 700;
  position: relative;
}
#top .schedule .content .item .flex {
  display: flex;
  justify-content: space-between;
  position: relative;
}
#top .schedule .content .item .flex .txt {
  width: calc(100% - 300px);
}
#top .schedule .content .item .name dl + dl {
  margin: 10px 0 0 0;
}
#top .schedule .content .item .name dl dt {
  font-size: 23px;
  font-weight: 700;
}
#top .schedule .content .item .name dl dd {
  font-size: 18px;
}
#top .schedule .content .item .moderator {
  margin: 20px 0 0 0;
  font-size: 14px;
}
#top .schedule .content .item .moderator dl dt {
  font-size: 19px;
  font-weight: 700;
}
#top .schedule .content .item .moderator dl dd {
  font-size: 17px;
}
#top .schedule .content .item .company {
  margin: 30px 0 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
#top .schedule .content .item .company .left {
  width: 110px;
  border: 1px solid #bdbebe;
}
#top .schedule .content .item .company .right {
  width: calc(100% - 130px);
  font-size: 15px;
}
#top .schedule .content .item .flex .img {
  width: 270px;
}
#top .schedule .content .item .flex .img a {
  color: #000;
  text-decoration: none;
  display: block;
}
#top .schedule .content .item .flex .img a div {
  position: relative;
}
#top .schedule .content .item .flex .img a div::after {
  content: "";
  width: 22px;
  height: 22px;
  background: url(../images/top/icon.png) no-repeat center center / 100% 100%;
  position: absolute;
  right: 10px;
  bottom: 10px;
}
#top .schedule .content .item .flex .img a p {
  margin: 5px 0 0 0;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  position: relative;
}
#top .schedule .content .item ul {
  margin: 30px 0 0 0;
  padding: 0 5%;
  display: flex;
  gap: 30px;
  position: relative;
}
#top .schedule .content .item ul li p {
  margin: 5px 0 0 0;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 768px) {
  #top .schedule {
    padding: 0 0 20px 0;
  }
  #top .schedule .title {
    padding: 50px 0 30px;
  }
  #top .schedule .title h2 {
    font-size: 26px;
  }
  #top .schedule .title p {
    font-size: 14px;
  }
  #top .schedule .greeting {
    padding: 0 5% 10px;
  }
  #top .schedule .time {
    padding: 8px 20px;
  }
  #top .schedule .time p {
    font-size: 22px;
  }
  #top .schedule .time p span {
    margin: 0 0 0 20px;
    font-size: 16px;
  }
  #top .schedule .content {
    padding: 20px 5%;
  }
  #top .schedule .content .item {
    padding: 20px;
  }
  #top .schedule .content .item + .item {
    margin: 00;
  }
  #top .schedule .content .item::before {
    content: "";
    width: 100px;
    height: 250px;
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 0 100%);
    top: auto;
    bottom: 0;
  }
  #top .schedule .content .item p.lead {
    margin: 0 0 5px 0;
    font-size: 16px;
  }
  #top .schedule .content .item h3 {
    margin: 0 0 15px 0;
    font-size: 16px;
  }
  #top .schedule .content .item .flex {
    flex-direction: column-reverse;
  }
  #top .schedule .content .item .flex .txt {
    width: 100%;
  }
  #top .schedule .content .item .name dl dt {
    font-size: 16px;
  }
  #top .schedule .content .item .name dl dd {
    font-size: 14px;
  }
  #top .schedule .content .item .moderator {
    margin: 15px 0 0 0;
    font-size: 12px;
  }
  #top .schedule .content .item .moderator dl dt {
    font-size: 15px;
  }
  #top .schedule .content .item .moderator dl dd {
    font-size: 13px;
  }
  #top .schedule .content .item .company {
    margin: 20px 0 0 0;
  }
  #top .schedule .content .item .company .left {
    width: 80px;
  }
  #top .schedule .content .item .company .right {
    width: calc(100% - 90px);
    font-size: 12px;
  }
  #top .schedule .content .item .flex .img {
    width: 200px;
    margin: 0 auto 20px;
  }
  #top .schedule .content .item .flex .img a p {
    font-size: 13px;
  }
  #top .schedule .content .item ul {
    max-width: 420px;
    margin: 20px auto 0;
    padding: 0;
    gap: 20px;
    flex-wrap: wrap;
  }
  #top .schedule .content .item ul li {
    width: calc(50% - 10px);
  }
  #top .schedule .content .item ul li p {
    font-size: 13px;
  }
}

#top .partner {
  padding: 80px 5% 0;
  border-top: 1px solid #9e9f9f;
}
#top .partner .inner {
  max-width: 1080px;
  margin: 0 auto;
}
#top .partner .title {
  margin: 0 0 40px 0;
  color: #1554af;
}
#top .partner .title h2 {
  font-family: 'Inter', sans-serif;
  font-size: 50px;
  line-height: 1;
}
#top .partner .title p {
  font-size: 23px;
  font-weight: 700;
  line-height: 1.4;
}
#top .partner ul {
  margin: 0 0 80px 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 12px;
}
#top .partner ul li {
  width: calc(25% - 10px);
}
#top .partner ul li a {
  color: #000;
  text-decoration: none;
  text-align: center;
  display: block;
}
#top .partner ul li a p {
  margin: 5px 0 0 0;
  font-size: 16px;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  #top .partner {
    padding: 40px 5% 0;
  }
  #top .partner .title {
    margin: 0 0 20px 0;
  }
  #top .partner .title h2 {
    font-size: 26px;
  }
  #top .partner .title p {
    font-size: 14px;
  }
  #top .partner ul {
    margin: 0 0 40px 0;
    gap: 20px;
  }
  #top .partner ul li {
    width: calc(50% - 10px);
  }
  #top .partner ul li a p {
    font-size: 13px;
  }
}

#top .info {
  padding: 80px 5%;
  background: #e7eef7;
}
#top .info .inner {
  max-width: 1080px;
  margin: 0 auto;
}
#top .info .title {
  margin: 0 0 40px 0;
  color: #1554af;
}
#top .info .title h2 {
  font-family: 'Inter', sans-serif;
  font-size: 50px;
  line-height: 1;
}
#top .info .title p {
  font-size: 23px;
  font-weight: 700;
  line-height: 1.4;
}
#top .info .notice h3 {
  font-size: 16px;
  font-weight: 700;
}
#top .info .notice ul {
  margin: 20px 0 0 0;
}
#top .info .notice ul li {
  margin: 0 0 15px 0;
  padding: 0 0 25px 0;
  position: relative;
}
#top .info .notice ul li::after {
  content: "";
  width: 20px;
  height: 11px;
  background: url(../images/top/step_arrow.png) no-repeat center center / 100% 100%;
  position: absolute;
  left: 21px;
  bottom: 0
}
#top .info .notice ul li:last-child::after {
  display: none;
}
#top .info .notice ul li dl {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#top .info .notice ul li dl dt {
  width: 65px;
}
#top .info .notice ul li dl dd {
  width: calc(100% - 85px);
  font-size: 16px;
}
#top .info .outline {
  padding: 80px 0;
}
#top .info .notice table,
#top .info .outline table {
  width: 100%;
  font-size: 16px;
}
#top .info .notice table tr,
#top .info .outline table tr {
  border-bottom: 1px solid #989899;
}
#top .info .notice table th,
#top .info .outline table th {
  width: 220px;
  padding: 10px 0;
  text-align: left;
}
#top .info .notice table td,
#top .info .outline table td {
  padding: 10px 0;
}
#top .info .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;
}
#top .info .btn a:hover {
  opacity: .7;
}


@media screen and (max-width: 768px) {
  #top .info {
    padding: 40px 5%;
  }
  #top .info .title {
    margin: 0 0 20px 0;
  }
  #top .info .title h2 {
    font-size: 26px;
  }
  #top .info .title p {
    font-size: 14px;
  }
  #top .info .notice h3 {
    font-size: 14px;
  }
  #top .info .notice ul {
    margin: 20px 0 0 0;
  }
  #top .info .notice ul li {
    margin: 0 0 10px 0;
    padding: 0 0 20px 0;
  }
  #top .info .notice ul li::after {
    width: 16px;
    height: 8px;
    left: 16px;
  }
  #top .info .notice ul li dl dt {
    width: 50px;
  }
  #top .info .notice ul li dl dd {
    width: calc(100% - 60px);
    font-size: 13px;
  }
  #top .info .outline {
    padding: 40px 0;
  }
  #top .info .notice table,
  #top .info .outline table {
    font-size: 12px;
  }
  #top .info .notice table th,
  #top .info .outline table th {
    width: 110px;
  }
  #top .info .notice table td,
  #top .info .outline table td {
    padding: 10px 0 10px 10px;
  }
  #top .info .btn a {
    width: 300px;
    margin: 0 auto;
    font-size: 13px;
  }
  #top .info .btn a:hover {
    opacity: .7;
  }
}

#top .form {
  padding: 80px 5%;
}
#top .form .inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 10px;
  border-radius: 8px;
  background: #ffd300;
}
#top .form iframe {
  width: 100%;
  height: 1650px;
  display: block;
}

@media screen and (max-width: 768px) {
  #top .form {
    padding: 40px 5%;
  }
  #top .form .inner {
    margin: 0 auto;
    padding: 10px;
    border-radius: 8px;
    position: static;
  }
  #top .form iframe {
    height: 1800px;
  }
}

@media screen and (max-width: 680px) {
  #top .form iframe {
    height: 2200px;
  }
}



#top .block_news {
  padding: 0 5%;
}
#top .news {
  max-width: 1280px;
  margin: 0 auto;
  padding: 60px 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: 1px solid #9e9f9f;
}
#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;
}

@media screen and (max-width: 768px) {
  #top .news {
    margin: 0 auto;
  }
  #top .news {
    padding: 40px 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 .block_list {
  padding: 0 5%;
}
#top .block {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 0 0 0;
  border-top: 1px solid #9e9f9f;
}
#top .block h2 {
  max-width: 1280px;
  margin: 0 auto;
  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;
}

@media screen and (max-width: 768px) {
  #top .block {
    padding: 40px 0 0 0;
  }
  #top .block h2 {
    margin: 0;
    font-size: 24px;
  }
  #top .block ul {
    margin: 10px auto 40px;
  }
}

#top .archive_link {
  padding: 50px 5%;
  border-top: 1px solid #9e9f9f;
  border-bottom: 1px solid #9e9f9f;
}
#top .archive_link p {
  margin: 0 0 20px 0;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
}
#top .archive_link .flex {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}
#top .archive_link a {
  padding: 15px 40px;
  color: #fff;
  font-size: 18px;
  text-decoration: none;
  border-radius: 5px;
  background: #000;
  transition: .3s;
}
#top .archive_link a:hover {
  opacity: .7;
}

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

@media screen and (max-width: 768px) {
  #top .archive_link {
    padding: 40px 5%;
  }
  #top .archive_link p {
    font-size: 16px;
  }
  #top .archive_link a {
    padding: 15px 40px;
    font-size: 14px;
  }
}

.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: 768px) {
  .organizer {
    margin: 0 0 -60px 0;
    padding: 40px 5%;
  }
  .organizer h2 {
    margin: 0 0 20px 0;
    font-size: 18px;
  }
  .organizer .spectee {
    max-width: 200px;
  }
}

/* ********** sub common ********** */

main {
  width: 100%;
  padding: 0 5%;
}
main .inner {
  max-width: 1500px;
  margin: 0 auto;
}

/* ---------- modal ---------- */

.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;
  }
}



/* ********** 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 h2.color2025 {
  color: #b75474;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  border-bottom: 3px solid #b75474;
  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 .p1.color2025 {
  color: #b75474;
}
#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 .link2025 a {
  margin: 30px 0 0 0;
  padding: 15px 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  background: #b75474;
  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;
}
#contact .block .form .box .submit .wpcf7-spinner {
  display: none;
}

/* ********** 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;
  }



}
