@charset "UTF-8";
/*-----------------------------------------------
reset
-----------------------------------------------*/
/* --- reset CSS--- */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { margin: 0; padding: 0; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, strong, th, var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
q:before, q:after { content: ""; }
abbr, acronym { border: 0; }
ul { list-style: none; }
a {  text-decoration: none; }
/*a:focus {  outline: 2px solid #eb5505;  outline-offset: 3px; }*/
a:link {  text-decoration: none;}
a:visited { text-decoration: none; }
a:hover { text-decoration: none; }
a:active { text-decoration: none; }
input,button,textarea,select { font-size: 100%; margin: 0; padding: 0; background: none; border: none; border-radius: 0; -webkit-appearance: none; appearance: none; }
hr { display: block; border: none; padding: 0; margin: 0; }
body { font-family: "Noto Sans JP","Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; }


.roboto {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.outfit {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.noto-serif-jp{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight:400;
  font-style: normal;
}

@media screen and (min-width: 768px){
  
}
@media screen and (max-width:1000px) {

}
@media screen and (max-width:767.98px) {
  body { font-size: 3.4vw; line-height: 1.5;}
 
}
.linkTxt{
    display: inline-block;
    margin-right: 0.75em;
    text-decoration: underline;
    text-underline-offset: 0.3125em;
    position: relative;
    transition: .6s;
}
.btn {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: center;
    padding: 1.584em 1em;
    border: solid 1px #fff;
    background: #fff;
    color: #0E0D6A;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    border-radius: 999px;
    position: relative;
    margin: 0 auto;
    transition: .6s;
}

.btn.outer::after,
.linkTxt.outer::after {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    aspect-ratio: 1;
    width: 1em;
    min-width: 1em;
    height: auto;
    background-image: url(../common/img/ic-open_in_new-wh.svg);
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: -1.3em;
}
.btn.outer::after{width: 1.8em; right: 1.3em;}
.btn.outerBlue::after,
.linkTxt.outerBlue::after {
    background-image: url(../common/img/ic-open_in_new-bl.svg);
}
.linkTxt:hover{opacity: .6;}
.btn:hover{color: #0076D6; }
.btn:hover.outerBlue::after {
    background-image: url(../common/img/ic-open_in_new-lbl.svg);
}
.linkTxt:link,.linkTxt:hover,.linkTxt:active,.linkTxt:visited{color: #fff; position: relative; text-decoration: underline;}



.ulLink{
  display: flex;
    align-items: center;
    flex-flow: row wrap;
    justify-content: flex-start;
    gap: 1.25em;
    margin-top: 1.125em;
}

h2.sectionTit{
        font-weight: bold;
        position: relative;
        display: inline-block;
        padding: 0 0 .4em 0;
        margin: 0 auto 1.6em;
}
h2.sectionTit::after {
    content: "";
    display: block;
    width: 100%;
    height: 0.04em;
    background: linear-gradient(90deg,rgba(64, 235, 237, 1) 0%, rgba(110, 60, 125, 1) 33%, rgba(240, 204, 137, 1) 66%, rgba(230, 61, 87, 1) 100%);
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    bottom: 0;
}

/*youtube*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/*背景設定*/
body::before {
		content: '';
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100vw;
		height: 100lvh;
		background: url('../img/img-kv.webp') no-repeat bottom center;
		background-size: cover;
		background-position: center;
		z-index: -2;
}

#summit2026{position:relative;}
#mv { height: 100vh;  min-height:540px; position: relative; overflow: hidden; text-align: center; }
#bgmv { width: 100%; height: 100%; min-height:540px; position: relative; overflow: hidden; }

/*背景ぼかし*/
/* PC/SP の #wrapMainContent 指定は、いったんこの形に差し替え */
#wrapMainContent {
  --main-bg-rgb: 0, 10, 28;
  --main-bg-alpha: .8;

   --main-fade-1: 80px;
    --main-fade-2: 180px;
    --main-fade-3: 320px;
    --main-fade-end: clamp(360px, 36vw, 520px);

  position: relative;
  z-index: 0;
  isolation: isolate;

  /*
    疑似要素を #wrapMainContent の外に出さない。
    KV側にグラデーションを侵入させないため重要です。
  */
  overflow: hidden;

  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;

  
}

#wrapMainContent::before,
#wrapMainContent::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;

  /*
    #wrapMainContent の開始位置からグラデーション開始。
    マイナス指定しない。
  */
  top: 0;
  bottom: 0;

  pointer-events: none;
}

/* 背景ぼかし用 */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;

  background: rgba(0, 10, 28, .8);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity .6s ease,
    visibility 0s linear .6s;
}
@media screen and (min-width: 0px) and (max-width: 767.98px){
  body::after {
  background: rgba(0, 10, 28, .6);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
}

body.is-main-bg-on::after {
  opacity: 1;
  visibility: visible;
  transition:
    opacity .6s ease,
    visibility 0s linear 0s;
}

/* backdrop-filter 非対応環境では、暗色オーバーレイのみ */
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  body::after {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* 動きを減らす設定のユーザーには、ふわっと遷移を止める */
@media (prefers-reduced-motion: reduce) {
  body::after {
    transition: none;
  }
}





/*PC
-------------------------------------------------------------------------------*/

@media screen and (min-width: 768px){
.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.btn{   
    max-width: 556px;
    width: 50%;
    min-height: 2.8571428571em;
    font-size: 21px;
}
  
body::before {
		background: url('../img/img-kv.webp') no-repeat bottom center;
		background-size: cover;
		background-position: center;
}
#mvInner{
        position: relative;
        width: 76%;
        height: 70%;
        margin: 0 auto;
        text-align: left;
        top: 15%;
        color: #fff;
}
#mvInner h1{height: 44.343886%;/* max-height: 259px;*/ width: auto; margin-bottom: 1em;}
#mvInner #imgKvDate{height: 24.0%; max-height:145px; width: auto;         padding-top: 1em; position: relative;}
#mvInner #imgKvDate::after{
content: "";
    display: block;
    width: 7.4em;
    height: 0.08em;
    background: linear-gradient(90deg, rgba(64, 235, 237, 1) 0%, rgba(110, 60, 125, 1) 33%, rgba(240, 204, 137, 1) 66%, rgba(230, 61, 87, 1) 100%);
    position: absolute;
    left: 0;
    top: 0;
}
#mvInner #imgKvDate .date{font-weight: 500;    }
#mvInner #imgKvDate .date .year,#mvInner #imgKvDate .date .dotw{font-size:clamp(13px, 2.0vh, 2.0vh);}
#mvInner #imgKvDate .date .num{font-size:clamp(26px, 4.0vh, 4.0vh);}
#mvInner #imgKvDate .date .bar{font-size:clamp(40px, 6.0vh, 6.0vh);   font-weight: 100; line-height: .5;}
#mvInner #imgKvDate .site{font-weight: 700;  font-size:clamp(16px, 2.5vh, 2.5vh);  }
#kvPoint{
  position: absolute;
  left: 0;
  bottom: 0;
  height: 25.28821%;
  max-height: 156px;
}
#mvInner h1 img,#mvInner #imgKvDate img,#kvPoint img{display: block; height: 100%; width: auto;}
/*
#kvPoint{
  position: absolute;
  left: 0;
  bottom: 0;
  width: clamp(350px, 40%, 600px);
  background:rgba(4, 32, 80, .90) ;
  border-radius: 8px;
          padding: 2vh;
  color: #fff;
}
#kvPoint p{font-weight: bold; line-height: 1; margin-bottom:.8rem ;        font-size: clamp(.8rem, 1.5vh, 2.5rem);}
#kvPoint ul{display: flex; background-color: #0076D6; border-radius: 6px; padding: 1.6vh 0;}
#kvPoint ul > li{font-size: clamp(1.2rem, 2.5vh, 3.5rem); font-weight: bold; line-height: 1; text-align: center;}
#kvPoint ul > li:nth-child(1){width: 44%; border-right:solid 1px rgba(255, 255, 255, 0.5) ;}
#kvPoint ul > li:nth-child(2){width: 56%;}
*/
/*#imgScroll{position: fixed; bottom: 0; left: 3%; line-height: 0;}*/
#imgScroll {
  position: fixed;
  bottom: 0;
  left: 3%;
  line-height: 0;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  transition:
    opacity .4s ease,
    visibility 0s linear 0s;
}

body.is-scrolled #imgScroll {
  opacity: 0;
  visibility: hidden;
  transition:
    opacity .4s ease,
    visibility 0s linear .4s;
}

#wrapMainContent{ padding-bottom: 210px;}
#boxLead{padding: 400px 0 200px ; text-align: center; line-height: 2; color: #fff; font-size: 18px;
font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight:400;
  font-style: normal;
}
#boxLead h2{font-size: 38px; font-weight:600;line-height: 1.6; margin: 0 auto 100px;}

.boxContent{max-width:1360px; width: 92%; color: #fff; background: rgba(235, 246, 255, .05); border-radius: 20px; padding: 80px 0; margin: 0 auto; text-align: center;}

h2.sectionTit{ font-size: 50px;}
.note{  font-size: 14px;  color: #ccc;}

.wrapTable{ text-align: left;}
table{  border-collapse: collapse;  width: 100%;}
.wrapTable table th,
.wrapTable table td{
  padding: 1.6em .5em;
  text-align:center;
  box-sizing:border-box;
  text-align: left;
  vertical-align: top;
}
.wrapTable table th {font-weight: bold;}
#summary{margin: 0 auto 120px;}
#summary .wrapTable{max-width: 815px; margin: 0 auto;}
#summary .wrapTable th{width: 20%;}
.imgMail{width: 205px; height: auto; margin: .3em 0 0 0;}

#event2025{padding: 80px 0 130px;}
#event2025 .inner{max-width: 1040px; width: 84%; margin: 0 auto;}
#event2025 .inner .lead{font-size: 18px; margin: 0 auto 20px;}
#event2025 .inner .wrapMov{margin: 80px auto;}
#event2025 .inner .wrapMov h3{font-size: 21px; font-weight: bold; margin: 0 auto 30px;}


}

/*SP
-------------------------------------------------------------------------------*/
@media screen and (min-width: 0px) and (max-width: 767.98px){
.mb10{margin-bottom: 2.5%;}
.mb20{margin-bottom: 5%;}
.mb30{margin-bottom: 7.5%;}
.mb40{margin-bottom: 10%;}

.btn {    padding: 0.8em 1em;}

body::before {
		background: url('../img/img-kv-sp.webp') no-repeat bottom center;
		background-size: cover;
		background-position: center;
}
  #mv {position: relative; overflow:visible; text-align: center; min-height: clamp(420px, 120vw, 870px);}
  /*#bgWrap { width: 100%; min-width: 1280px; height: 100%; position:absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }*/
  #bgmv { width: 100%; height: 100%; min-height: clamp(420px, 120vw, 870px); position: relative; overflow: hidden; }
  /*h1 { position: absolute; top: calc(50%); left: 50%; transform: translate(-50%, -50%) scale(.8); z-index: 3; min-width: auto; width: 100%; text-align: center;}*/

#mvInner{position: relative; width: 100%; height: 100%; margin: 0 auto; text-align: left;padding: 6vh 0 0; color: #fff;}
#mvInner h1{ max-width: 84%; max-height:40%;  margin: 0 auto 0;}
#mvInner #imgKvDate{
  position: absolute;
  left: 5%;
  bottom: 42vw;
  max-width:56.23409669211196%; 
  max-height: 30%;
  line-height: 1;
}
#mvInner #imgKvDate .date{font-weight: 500;           margin-bottom: 1em; }
#mvInner #imgKvDate .date .year,#mvInner #imgKvDate .date .dotw{font-size:clamp(13px, 2.0vh, 2.0vh); font-size: 4vw;}
#mvInner #imgKvDate .date .num{/*font-size:clamp(26px, 4.0vh, 4.0vh);*/ font-size: 7vw;}
#mvInner #imgKvDate .date .bar{/*font-size:clamp(40px, 6.0vh, 6.0vh);*/ font-size: 11vw;   font-weight: 100; line-height: .5;}
#mvInner #imgKvDate .site{font-weight: 700;  /*font-size:clamp(16px, 2.5vh, 2.5vh); */font-size: 4.6vw; line-height: 1.2;}
#kvPoint{
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: auto;
}
#mvInner h1 img,#mvInner #imgKvDate img,#kvPoint img{display: block; max-width: 100%; width: 100%; height: auto; margin: 0 auto;}
#imgScroll{display: none;}


#wrapMainContent{ padding:0 0 40%;  }
#boxLead{
        width: 74%;
        margin: 0 auto;
        padding: 120% 0 80%;
        text-align: left;
        line-height: 2;
        color: #fff;
        font-size: 3.8vw;
        font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight:400;
  font-style: normal;
}

#boxLead h2{
          font-size: 6vw;
        font-weight: 600;
        line-height: 1.6;
        margin: 0 auto 12vw;
        text-align: center;
}

.boxContent{width: 90%; color: #fff; background: rgba(235, 246, 255, .05); border-radius: 1vw; padding: 10% 0; margin: 0 auto; text-align: center;}

h2.sectionTit{ font-size: 5.4vw;}
.note{  font-size: 3.0vw;  color: #ccc;}

.wrapTable{ text-align: left;}
.wrapTable table {    width: 100%;  }
.wrapTable table th,
.wrapTable table td {
    display: block;
    width: 100%;
    border-bottom:none;
    text-align: left;
    vertical-align: middle;
  }
  .wrapTable table th {padding: 0;font-weight: bold;}
  .wrapTable table td{padding: 0.4em 0 1.8em;}
  
  #summary{margin: 0 auto 12vw;}
  #summary .wrapTable{width:84%; margin: 0 auto;}
  #summary .wrapTable th{}
.ulLink { gap: 0.8em;   align-items: start;    flex-flow: column wrap;}

.imgMail{width: 60%; height: auto; margin: .3em 0 0 0;}

#event2025{padding: 10% 0 20%;}
#event2025 .inner{width: 84%; margin: 0 auto;text-align: left;}
#event2025 .inner .lead{margin: 0 auto 5%; }
#event2025 .inner .wrapMov{margin: 20% auto 12%;}
#event2025 .inner .wrapMov h3{font-size: 4vw; font-weight: bold; margin: 0 auto 5%; text-align: center;}







}



.view-pc { display: block!important; }
.view-sp { display: none!important; }


@media screen and (max-width:767.98px) {
    .view-pc { display: none!important; }
    .view-sp { display: block!important; }
}
