.m-wrapper{
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
}

.m-main__head{
  border-bottom:inherit;
  margin-bottom:inherit;
  padding-bottom:inherit;
}

section:not(:nth-of-type(1)){
  margin-top:100px;
}
section .textIndent{
  
    
  text-indent:-1em;
  padding-left:1em;
}
section .mb-1em{
  margin-bottom:1em;
}

section .note{  
  font-size:13px;
  font-size:.8125rem;
}

.red-title__h2{
  font-weight:700;
  font-size:20px;
  font-size:1.25rem;
  line-height:1.65;
  border-bottom:1px solid #9e9e9f;
  margin-bottom:20px;
}

.red-title__h2::before{
  content:"";
  width:17px;
  height:17px;
  background-color:#000;
  display:inline-block;
  margin-right:.2em;
}

.mv__img img{
  width:100%;
  height:auto;
  -o-object-fit:cover;
  object-fit:cover;
}

.overview{
  
    width:min(100%,755px);
  margin-inline:auto;
  padding-top:80px;
}

.overview__header{
  
    display:-ms-grid;
  display:grid;
  gap:8px;
  justify-items:center;
}

.overview__date{
  font-family:Oswald,sans-serif;
  font-optical-sizing:auto;
  font-weight:600;
  font-style:normal;
  font-size:21px;
  font-size:2rem;
  line-height:1;
  text-align:center;
  line-height: 55px;
}

.overview__date span{
  display:block;
  margin-bottom:8px;
  font-size:2em;
  letter-spacing:.05em;
}

.overview__title{
  font-size:27.45px;
  /* font-size:2.5rem; */
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.2;
  text-align:center;
  margin-top: 20px;
  font-family:Oswald,sans-serif;
}

.overview__body{
  display:-ms-grid;
  display:grid;
  gap:32px;
  justify-items:center;
  margin-top:32px;
}

.overview__link{
  font-size:49px;
  font-size:3.0625rem;
  font-weight:700;
  letter-spacing:.005em;
  line-height:1.2;
  text-align:center;
  text-decoration:underline;
  text-underline-offset:10px;
  text-decoration-thickness:2px;
}

.overview__place{
  display:-ms-inline-grid;
  display:inline-grid;
  gap:4px;
  justify-items:center;
  font-size:13px;
  font-size:.8125rem;
  letter-spacing:normal;
}

.overview__place span{
  font-size:1.6153846154em;
  font-weight:700;
  letter-spacing:-.04em;
}

.overview__text{
  margin-top:24px;
  font-size:14px;
  font-size:.875rem;
  line-height:1.5714285714;
  letter-spacing:.03em;
}

.finalist__title{
  font-family:Oswald,sans-serif;
  font-optical-sizing:auto;
  font-weight:600;
  font-style:normal;
  font-size:72.35px;
  font-size:4.521875rem;
  letter-spacing:-.01em;
  line-height:1;
  text-align:center;
}

.finalist__cardWrapper{
  --columns:2;
  display:-ms-grid;
  display:grid;
  grid-template-columns:repeat(var(--columns),minmax(0,1fr));
  gap:50px;
  margin-top:100px;
}

.finalist .card{
  position:relative;
}

.finalist .card img{
  width:100%;
  height:auto;
  -o-object-fit:cover;
  object-fit:cover;
}

.finalist .card_caption{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  background-color:rgba(0,0,0,.3);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  padding:10px 20px;
  color:#fff;
}

.finalist .card_caption_area{
  font-size:10px;
}

.finalist .card_caption_position{
  font-size:10px;
  border-top:1px solid #fff;
  padding-top:5px;
}

.finalist .card_caption_name{
  font-size:25px;
  margin-top:-.25em;
}

.finalist .card_bussiness_area{
  font-size:15px;
  margin-bottom:5px;
  line-height:17px;
  padding-top:8.25px;
  padding-bottom:8.25px;
}

/* .schedule__wrap{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -ms-flex-pack:distribute;
  justify-content:space-around;
}

.schedule__list{
  position:relative;
  margin-top:50px;
  padding-right:180px;
}

.schedule__list .schedule__item{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  gap:24px;
  word-break:break-all;
  padding-right:0;
}

.schedule__list .schedule__item p{
  font-size:14px;
  font-size:.875rem;
  line-height:1.5714285714;
}

.schedule__list .schedule__item .p-bold{
  font-weight:700;
  font-size:20px;
  font-size:1.25rem;
}

.schedule__list .schedule__item .table-wrap{
  overflow:inherit!important;
}

.schedule--time{
  position:relative;
  -ms-flex-negative:0;
  flex-shrink:0;
  font-size:30px;
  font-size:1.875rem;
  font-weight:700;
  letter-spacing:.05em;
}

.schedule--time::before{
  position:absolute;
  top:50%;
  right:-39px;
  -webkit-transform:translateY(-50%);
  transform:translateY(-50%);
  content:"";
  width:24px;
  height:24px;
  border-radius:50%;
  background-color:#000;
  display:inline-block;
}

.schedule--body{
  position:relative;
  padding-left:34px;
  padding-top:29px;
  padding-bottom:12px;
}

.schedule--body::before{
  position:absolute;
  top:0;
  left:0;
  content:"";
  height:100%;
  width:8px;
  background-color:#000;
}

.schedule--heading{
  line-height:1.1666666667;
  font-size:18px;
  font-size:1.125rem;
  font-weight:700;
  position:relative;
  margin-bottom:8px;
  padding-bottom:8px;
}

.schedule--heading .year{
  font-size:20px;
  font-size:1.25rem;
  line-height:2;
}

.schedule--text{
  font-size:14px;
  font-size:.875rem;
  line-height:1.5;
}

.schedule--note{
  color:#e50012;
  font-size:20px;
  font-size:1.25rem;
  font-weight:700;
} */
/* スケジュールredに合わせる ここから*/
.schedule__list{
 
position:relative
}
.schedule__list::before{
 
position:absolute;
top:0;
left:8px;
content:"";
height:100%;
width:8px;
background-color:#000
}
.schedule__list .schedule__item{
 
padding-left:34px;
padding-top:50px
}
.schedule__list .schedule__item p{
 
font-size:14px;
font-size:.875rem;
line-height:1.5714285714
}
.schedule__list .schedule__item .p-bold{
 
font-weight:700;
font-size:20px;
font-size:1.25rem
}
.schedule__list .schedule__item .table-wrap{
 
overflow:inherit!important
}
.schedule--heading{ 
line-height:1.3333333333;
font-size:30px;
font-size:1.875rem;
font-weight:700;
position:relative
}
.schedule--heading::before{
 
position:absolute;
top:50%;
left:-34px;
-webkit-transform:translateY(-50%);
transform:translateY(-50%);
content:"";
width:24px;
height:24px;
border-radius:50%;
background-color:#000;
display:inline-block
}
.schedule--heading .year{
 
font-size:20px;
font-size:1.25rem;
line-height:2
}
.schedule--note{
 
color:#e50012;
font-size:20px;
font-size:1.25rem;
font-weight:700
}
.red__table{
 
width:623px
}
.red__table td,.red__table th{
 
font-size:14px;
font-size:.875rem;
text-align:center;
border:1px solid #a9aaaa;
padding:3px 5px
}
.red__table th{
 
background-color:#ececec;
font-weight:400;
width:100px
}
.red__table td:nth-of-type(2){
 
width:100px
}
/* スケジュールredに合わせる ここまで*/

.businessPlan__list--item .title_lead{
  font-size:16px;
  font-size:1rem;
  font-weight:500;
}

.businessPlan__list--item .text{
  font-size:14px;
  font-size:.875rem;
}

.businessPlan--heading{
  font-size:20px;
  font-size:1.25rem;
}

.businessPlan__content{
  margin-top:1em;
  padding:8px 35px;
  border:1px solid #000;
  position:relative;
  margin-bottom:10px;
}

.businessPlan__content::after,.businessPlan__content::before{
  content:"";
  width:96%;
  height:3px;
  background-color:#fff;
  position:absolute;
  left:50%;
  -webkit-transform:translateX(-50%);
  transform:translateX(-50%);
}

.businessPlan__content::before{
  top:-2px;
}

.businessPlan__content::after{
  bottom:-2px;
}

.businessPlan__item:not(:nth-of-type(1)){
  margin-top:20px;
}

.notice .notice--heading{
  font-size:16px;
  font-size:1rem;
  font-weight:500;
}

.notice .notice--list{
  margin-top:1em;
}

.notice .notice--list li{
  margin-bottom:1em;
}

.access__header{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:baseline;
  -ms-flex-align:baseline;
  align-items:baseline;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  gap:16px;
}

.access__map iframe{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
}

.supporter .supporter__list{
  margin-top:35px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:left;
  gap:13px;
}

.supporter .supporter__list li{
  max-width:155px;
}

.bnr-area .bnr-area_wrap{
  display:grid;
  grid-template-columns: repeat(3,auto);
  justify-content:space-between;
  gap: 25px;

}

.entry-fixed{
  width:238px;
  position:fixed;
  bottom:20px;
  right:80px;
  z-index:2;
}

.m-link{
  width:300px;
}


.Plus_button {
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background-color: #fff;
    bottom: 24px;
    right: 24px;
    color: #000;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    margin-left: 75px;
}

.entry-button{
    display: flex;
    justify-content: center;
    gap: 50px;
}

.entry-link{
    display: flex;
    width: 350px;
    height: 130px;
    background-color: #000;
    color: #fff;
    text-align: center;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    font-weight: bold;
    padding: 10px;
    border-radius: 20px;
    line-height: 35px;
    margin: 20px 0;
}
.mrgn{
  margin-bottom: 20px;
}

a.link-blue {
  color: #007bff;
}

.entry-single{
  display: flex;
    width: 450px;
    height: 100px;
    background-color: #000;
    color: #fff;
    text-align: center;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    font-weight: bold;
    padding: 10px;
    border-radius: 20px;
    line-height: 35px;
    margin: 20px 0;
}

.sp{
  display: none;
}

@media screen and (max-width:768px){
.m-wrapper{
  max-width:91.3%;
}
section:not(:nth-of-type(1)){
  margin-top:70px;
}

.overview__header{  
  gap:24px;
}

.overview__link{  
  font-size:40px;
  font-size:2.5rem;
  line-height:1.5;
}
.overview__date{
  font-size: 1.5em;
}
.overview__date span{
  font-size:2.3em;
}

.overview__place span{
  font-size:1.1em;
  text-align: center;
}

.finalist__title{
  font-size:44px;
  font-size:2.75rem;
}

.finalist__cardWrapper{ 
  --columns:1;
  margin-top:50px;
}

.finalist .card_caption_name{
  font-size:20px;
}

/* .schedule__wrap{  
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  gap:12px;
}

.schedule__list{  
  padding-right:0;
}

.schedule__list .schedule__item .table-wrap{  
  overflow:auto!important;
}

.schedule--time{ 
  font-size:18px;
  font-size:1.125rem;
}

.schedule--body{  
  padding-left:0;
  padding-top:0;
}

.schedule--heading{  
  font-size:18px;
  font-size:1.125rem;
  padding-left:30px;
}

.schedule--heading .year{  
  font-size:14px;
  font-size:.875rem;
}

.schedule--text{  
  padding-left:30px;
}

.schedule--note{  
  font-size:16px;
  font-size:1rem;
} */

/* スケジュールREDに合わせるここから */
.schedule__list::before{
 
left:4px;
width:4px
}
.schedule__list .schedule__item{
 
padding-left:24px
}
.schedule__list .schedule__item .table-wrap{
 
overflow:auto!important
}
.schedule--heading{
 
font-size:18px;
font-size:1.125rem
}
.schedule--heading::before{
 
width:14px;
height:14px;
left:-25px
}
.schedule--heading .year{
 
font-size:14px;
font-size:.875rem
}
.schedule--note{
 
font-size:16px;
font-size:1rem
}
.red__table{
 
width:530px
}
.red__table td,.red__table th{
 
font-size:12px;
font-size:.75rem
}
/* スケジュールREDに合わせるここまで */

.businessPlan__content{ 
  padding:5px 20px;
}

.bnr-area .bnr-area_wrap{  
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  gap:20px;
}

.entry-fixed{  
  width:30%;
  right:20px;
}

.entry-link{
    height: 100px;
    font-size: 14px;
    line-height: 20px;
}

.youtube-rounded {
  width: 100%;
  height: 100%;
}

.supporter .supporter__list{
  gap: 6px;
}

.sp{
  display: block;
}

}

@media(hover:hover)and (pointer:fine){
  
.overview__link:hover{
  text-decoration:none;
}

/* .overview__place:hover{ 
  text-decoration:none;
  opacity:.8;
} */
}



#mainVisual.fade-out {
  opacity: 0;
  transition: opacity 0.5s ease;
}

.youtube-rounded {
  aspect-ratio: 16 / 9;
  border-radius: 15px;
  border: none;
  display: block;
  margin: 0 auto;
  box-sizing: border-box;
}
