/* 1920pxの場合　フォントサイズ以外
 min(1rem,calc(10vw/19.2)) */

/*                     main                   */
#main_contents {
 position: relative;
}
.main_bg {
 width: 100%;
 height: 100vh;
 position: sticky;
 top: 0;
 left: 0;
 z-index: 1;
}
.main_bg::before {
 content: "";
 width: min(58.6rem, calc(586vw / 19.2));
 height: 100%;
 background: url(../images/bg.webp) no-repeat;
 background-size: cover;
 background-position: center;
 position: absolute;
 top: 0;
 left: 0;
}
.main_bg::after {
 content: "";
 width: min(58.5rem, calc(585vw / 19.2));
 height: 100%;
 background: url(../images/bg.webp) no-repeat;
 background-size: cover;
 background-position: center;
 position: absolute;
 top: 0;
 right: 0;
}
.main_item {
 width: min(75rem, calc(750vw / 19.2));
 margin: -100vh auto 0;
 position: relative;
 z-index: 5;
 padding-bottom: min(1rem, calc(10vw / 19.2));
}
h2.ttl {
 width: min(54rem, calc(540vw / 19.2));
 margin: 0 auto;
}

.side_logo {
 width: min(46.2rem, calc(462vw / 19.2));
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: min(6rem, calc(60vw / 19.2));
 z-index: 2;
}
.side_menu {
 width: min(46rem, calc(460vw / 19.2));
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(6rem, calc(60vw / 19.2));
 display: flex;
 flex-direction: column;
 gap: min(2rem, calc(20vw / 19.2)) 0;
 z-index: 2;
}
.side_menu li {
 background-color: #fff;
}
.side_menu a {
 display: block;
 width: 100%;
}

@media (hover: hover) and (pointer: fine) {
 .side_menu a:where(:any-link, :enabled, summary):hover {
  opacity: 0.7;
 }
}

/*                     about                   */
.about_inner {
 background: url(../images/about_bg.webp) no-repeat;
 background-size: cover;
 padding: min(15rem, calc(150vw / 19.2)) 0 min(13rem, calc(130vw / 19.2));
}
.about_txt {
 width: min(57.6rem, calc(576vw / 19.2));
 margin: 0 auto;
}
.about_txt p {
 font-size: 3.4rem;
 letter-spacing: 0.04em;
 line-height: 2.55;
 color: #fff;
}
.about_txt p + p {
 margin-top: min(8.5rem, calc(85vw / 19.2));
}

/*                     schedule                   */
.schedule_item {
 margin-top: min(1rem, calc(10vw / 19.2));
 background-color: #1a29bb;
 padding: min(4rem, calc(40vw / 19.2)) 0;
}
.schedule_img {
 width: min(60rem, calc(600vw / 19.2));
 margin: 0 auto;
}
/*                     news                   */
.news_inner {
 margin-top: min(1rem, calc(10vw / 19.2));
 background-color: #1a29bb;
 padding: min(10rem, calc(100vw / 19.2)) 0 min(17rem, calc(170vw / 19.2));
}
.news_item {
 width: min(54rem, calc(540vw / 19.2));
 margin: min(3rem, calc(30vw / 19.2)) auto;
}
.news_item dl {
 width: 100%;
 display: flex;
 align-items: baseline;
 position: relative;
 padding: min(2.5rem, calc(25vw / 19.2)) 0;
}
.news_item dl::before {
 content: "";
 width: 100%;
 height: min(0.1rem, calc(1vw / 19.2));
 background: url(../images/border.svg);
 background-size: contain;
 position: absolute;
 bottom: 0;
 left: 0;
}
.news_item dl:last-of-type::before {
 content: none;
}
.news_item dt {
 width: min(14rem, calc(140vw / 19.2));
 font-size: 3.2rem;
 font-weight: 500;
 color: #fff;
 text-align: justify;
 line-height: 1.3;
}
.news_item dd {
 width: calc(100% - min(14rem, calc(140vw / 19.2)));
 font-size: 3rem;
 color: #fff;
 line-height: 1.43;
 text-align: justify;
}
.news_btn {
 width: min(43rem, calc(430vw / 19.2));
 margin: 0 auto;
}
.news_btn a {
 display: block;
 position: relative;
 width: 100%;
 background-color: #fff;
 color: #1a29bb;
 font-size: 2.1rem;
 font-weight: 500;
 letter-spacing: 0.02em;
 padding: min(2rem, calc(20vw / 19.2)) 0;
 border-radius: min(5rem, calc(50vw / 19.2));
 border: min(0.1rem, calc(1vw / 19.2)) solid #1a29bb;
}
.news_btn a::after {
 content: "";
 width: min(1.5rem, calc(15vw / 19.2));
 height: min(1.7rem, calc(17vw / 19.2));
 background-color: #1a29bb;
 clip-path: polygon(0 0, 0% 100%, 100% 50%);
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(3.5rem, calc(35vw / 19.2));
 transition: 0.4s;
}

@media (hover: hover) and (pointer: fine) {
 .news_btn a:where(:any-link, :enabled, summary):hover {
  background-color: #1a29bb;
  color: #fff;
  border-color: #fff;
 }
 .news_btn a:where(:any-link, :enabled, summary):hover::after {
  background-color: #fff;
 }
}

/*                     access                   */
.access_inner {
 background-color: #1a6cea;
 padding: min(10rem, calc(100vw / 19.2)) 0 min(9rem, calc(90vw / 19.2));
}
.access_txt {
 font-size: 2.6rem;
 font-weight: 500;
 letter-spacing: 0.02em;
 color: #fff;
 line-height: 1.8;
 margin-top: min(2rem, calc(20vw / 19.2));
}
.access_txt span {
 font-size: 4.5rem;
 font-weight: bold;
 display: block;
}

.access_btn {
 width: min(28.5rem, calc(285vw / 19.2));
 margin: min(4rem, calc(40vw / 19.2)) auto min(4.5rem, calc(45vw / 19.2));
}
.access_btn a {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0 min(1rem, calc(10vw / 19.2));
 position: relative;
 width: 100%;
 background-color: #1a1a1a;
 color: #fff;
 font-size: 2.1rem;
 font-weight: 500;
 letter-spacing: 0.02em;
 padding: min(1.4rem, calc(14vw / 19.2)) 0;
 border-radius: min(5rem, calc(50vw / 19.2));
 border: #1a1a1a solid min(0.1rem, calc(1vw / 19.2));
}
.access_btn a span {
 content: "";
 width: min(2.4rem, calc(24vw / 19.2));
 height: min(3.2rem, calc(32vw / 19.2));
 background: url(../images/map_icon.svg) no-repeat;
 background-size: cover;
 transition: 0.4s;
 position: relative;
}
.access_btn a span::before {
 content: "";
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 background: url(../images/map_icon_hover.svg) no-repeat;
 background-size: cover;
 opacity: 0;
 transition: 0.4s;
}
.access_img {
 width: min(57rem, calc(570vw / 19.2));
 margin: 0 auto;
}

@media (hover: hover) and (pointer: fine) {
 .access_btn a:where(:any-link, :enabled, summary):hover {
  background-color: #fff;
  color: #1a1a1a;
  border-color: #1a1a1a;
 }
 .access_btn a:where(:any-link, :enabled, summary):hover span::before {
  opacity: 1;
 }
}

/*                     info                   */
.info_inner {
 background-color: #1a29bb;
 padding: min(10rem, calc(100vw / 19.2)) 0;
}
.info_menu {
 width: min(57rem, calc(570vw / 19.2));
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: min(2rem, calc(20vw / 19.2)) 0;
 margin-top: min(4rem, calc(40vw / 19.2));
}
.info_menu li {
 width: min(27.5rem, calc(275vw / 19.2));
}
.info_menu li a {
 display: flex;
 align-items: center;
 gap: 0 min(0.8rem, calc(8vw / 19.2));
 width: 100%;
 background-color: #fff;
 font-size: 2.6rem;
 font-weight: 500;
 letter-spacing: 0.03em;
 color: #1a29bb;
 text-align: left;
 box-sizing: border-box;
 padding: min(1.4rem, calc(14vw / 19.2)) min(1.5rem, calc(15vw / 19.2));
 border: #fff solid min(0.1rem, calc(1vw / 19.2));
}
.info_menu li a::before {
 content: "";
 width: min(1.2rem, calc(12vw / 19.2));
 height: min(1.2rem, calc(12vw / 19.2));
 border-radius: 50%;
 background-color: #1a29bb;
 transition: 0.4s;
}

@media (hover: hover) and (pointer: fine) {
 .info_menu a:where(:any-link, :enabled, summary):hover {
  background-color: #1a29bb;
  color: #fff;
 }
 .info_menu a:where(:any-link, :enabled, summary):hover::before {
  background-color: #fff;
 }
}

/*                     sponsors                   */
.sponsors_inner {
 background-color: #1a6cea;
 padding: min(10rem, calc(100vw / 19.2)) 0 min(6.5rem, calc(65vw / 19.2));
}
.sponsors_item {
 width: min(57rem, calc(570vw / 19.2));
 margin: min(4rem, calc(40vw / 19.2)) auto 0;
 background-color: #fff;
 padding-bottom: min(2rem, calc(20vw / 19.2));
}
.sponsors_logo {
 width: min(20rem, calc(200vw / 19.2));
 margin: 0 auto;
}
.sponsors_logo_menu {
 display: flex;
 gap: min(2rem, calc(20vw / 19.2));
 place-content: center;
 align-items: center;
}
.sponsors_logo_menu  li {
 width: min(12rem, calc(120vw / 19.2));
}
.sponsors_logo_menu_other {
 display: flex;
 flex-wrap: wrap;
 gap: min(2rem, calc(20vw / 19.2));
 place-content: center;
 align-items: center;
 margin-top: min(2rem, calc(20vw / 19.2));
}
.sponsors_logo_menu_other li{
width: min(8rem, calc(80vw / 19.2));
}

/*                     footer                   */
footer {
 background-color: #00479d;
}
.footer_inner {
 width: min(75rem, calc(750vw / 19.2));
 margin: 0 auto;
 padding: min(2rem, calc(20vw / 19.2)) min(3.5rem, calc(35vw / 19.2));
 box-sizing: border-box;
}
.footer_flex {
 display: flex;
 gap: 0 min(3.5rem, calc(35vw / 19.2));
}
.footer_logo {
 width: min(10.6rem, calc(106vw / 19.2));
}
.footer_derail {
 width: min(52rem, calc(520vw / 19.2));
}
.footer_derail ul {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 gap: min(1rem, calc(10vw / 19.2)) 0;
}
.footer_derail ul a {
 font-size: 2.4rem;
 color: #ffffff;
 font-weight: bold;
 line-height: 1.2;
}

.copy {
 font-size: 1.6rem;
 font-weight: 500;
 color: #fff;
 margin-top: min(1.5rem, calc(15vw / 19.2));
 text-align: left;
}

@media (hover: hover) and (pointer: fine) {
 .footer_derail a:where(:any-link, :enabled, summary):hover {
  opacity: 0.7;
 }
}

.floating_btn {
 position: fixed;
 bottom: min(3.5rem, calc(35vw / 19.2));
 right: min(60rem, calc(600vw / 19.2));
 width: min(19rem, calc(190vw / 19.2));
 height: min(19rem, calc(190vw / 19.2));
 z-index: 10;
 transition: 0.4s;
 opacity: 0;
 pointer-events: none;
 visibility: hidden;
}
.floating_btn.show {
 visibility: visible;
 pointer-events: all;
 opacity: 1;
}
.floating_btn a {
 display: block;
 width: 100%;
 height: 100%;
 box-sizing: border-box;
 border-radius: 50%;
 border: #1a29bb solid min(0.2rem, calc(2vw / 19.2));
 background-color: #fff;
 font-size: 2.4rem;
 color: #1a29bb;
 line-height: 1.33;
 font-weight: 300;
 display: flex;
 align-items: center;
 justify-content: center;
}

@media (hover: hover) and (pointer: fine) {
 .floating_btn a:where(:any-link, :enabled, summary):hover {
  background-color: #1a29bb;
  color: #fff;
 }
}

@media screen and (max-width: 767px) {
 /*                     main                   */
 .main_bg {
  display: none;
 }
 .main_item {
  width: 100%;
  padding-bottom: 0.5rem;
  margin: 0 auto;
 }
 h2.ttl {
  width: 27rem;
 }

 /*                     about                   */
 .about_inner {
  padding: 7.5rem 0 6.5rem;
 }
 .about_txt {
  width: 27.8rem;
 }
 .about_txt p {
  font-size: 1.7rem;
 }
 .about_txt p + p {
  margin-top: 4.4rem;
 }

 /*                     schedule                   */
 .schedule_item {
  margin-top: 0.5rem;
  padding: 2rem 0;
 }
 .schedule_img {
  width: 30rem;
 }
 /*                     news                   */
 .news_inner {
  margin-top: 0.5rem;
  padding: 5rem 0 8.5rem;
 }
 .news_item {
  width: 27rem;
  margin: 1.5rem auto;
 }
 .news_item dl {
  padding: 1.2rem 0;
 }
 .news_item dl::before {
  height: 0.1rem;
 }
 .news_item dt {
  width: 7rem;
  font-size: 1.6rem;
 }
 .news_item dd {
  width: calc(100% - 7rem);
  font-size: 1.5rem;
 }
 .news_btn {
  width: 21.5rem;
 }
 .news_btn a {
  font-size: 1.1rem;
  padding: 1rem 0;
  border-radius: 2.5rem;
  border: 0.1rem solid #1a29bb;
 }
 .news_btn a::after {
  width: 0.7rem;
  height: 0.8rem;
  right: 1.8rem;
 }

 /*                     access                   */
 .access_inner {
  padding: 5rem 0 4.5rem;
 }
 .access_txt {
  font-size: 1.3rem;
  margin-top: 1rem;
 }
 .access_txt span {
  font-size: 2.2rem;
 }

 .access_btn {
  width: 14.3rem;
  margin: 2rem auto 2.2rem;
 }
 .access_btn a {
  gap: 0 0.5rem;
  font-size: 1.1rem;
  padding: 0.7rem 0;
  border-radius: 2.5rem;
  border: #1a1a1a solid 0.1rem;
 }
 .access_btn a span {
  width: 1.2rem;
  height: 1.6rem;
 }
 .access_img {
  width: 28.5rem;
 }

 /*                     info                   */
 .info_inner {
  padding: 5rem 0;
 }
 .info_menu {
  width: 28.5rem;
  gap: 1rem 0;
  margin-top: 2rem;
 }
 .info_menu li {
  width: 13.8rem;
 }
 .info_menu li a {
  gap: 0 0.4rem;
  font-size: 1.3rem;
  padding: 0.7rem 0.8rem;
  border: #fff solid 0.1rem;
 }
 .info_menu li a::before {
  width: 0.6rem;
  height: 0.6rem;
 }

 /*                     sponsors                   */
 .sponsors_inner {
  padding: 5rem 0 3.2rem;
 }
.sponsors_item {
 width:28.5rem;
 margin: 2rem auto 0;
 padding-bottom: 1rem;
}
.sponsors_logo {
 width: 10rem;
}
.sponsors_logo_menu {
 gap: 1rem;
}
.sponsors_logo_menu  li {
 width: 6rem;
}
.sponsors_logo_menu_other {
 gap: 1rem;
 margin-top: 1rem;
}
.sponsors_logo_menu_other li{
width: 4rem;
}
 /*                     footer                   */
 .footer_inner {
  width: 100%;
  padding: 1rem 1.8rem;
 }
 .footer_flex {
  gap: 0 1.8rem;
  align-items: flex-start;
 }
 .footer_logo {
  width: 5.3rem;
 }
 .footer_derail {
  width: 26rem;
 }
 .footer_derail ul {
  gap: 0.5rem 0;
 }
 .footer_derail ul a {
  font-size: 1.2rem;
 }

 .copy {
  font-size: 1rem;
  margin-top: 0.8rem;
 }

 .floating_btn {
  bottom: 2rem;
  right: 2rem;
  width: 9.5rem;
  height: 9.5rem;
 }
 .floating_btn a {
  border: #1a29bb solid 0.1rem;
  font-size: 1.2rem;
 }
}


#shm-sponsorsAIG,.l-footer {
 display: none !important;
}
