@charset "UTF-8";
body{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  line-height:2;
  background:#FBF8F0;
  font-size:14px;
}
h1,h2,h3,h4,h5{
  line-height:1.5;
}

.roboto-condensed-100 {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
}
.roboto-condensed-200 {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
.roboto-condensed-300 {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
.roboto-condensed-400 {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.roboto-condensed-500 {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.roboto-condensed-600 {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
.roboto-condensed-700 {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.roboto-condensed-800 {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}
.roboto-condensed-900 {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}
main{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  z-index:1;
}
main:before{
  content:"";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  margin: auto;
  padding: 0;
  top:0;
  left:0;
  background-image:url(../img/backline_g.png);
  background-size:50px 50px;
  background-position:center top;
  background-repeat: repeat;
  opacity:.2;
  z-index:1;
}
section:nth-child(2n + 1){
  background:#EEE6D1;
}
section:nth-child(2n + 1):before{
  content:"";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  margin: auto;
  padding: 0;
  top:0;
  left:0;
  background-image:url(../img/backline_w.png);
  background-size:50px 50px;
  background-position:center top;
  background-repeat: repeat;
  opacity:.5;
}
.secwrap{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  z-index:2;
}
.secinner{
  display: block;
  position: relative;
  width: 90%;
  height: auto;
  margin: 0 auto;
  padding: 0;
}
.btn>a{
  display: flex;
  position: relative;
  width:100%;
  height: 75px;
  margin: 0 auto;
  padding: 5px 5px 15px;
  border:2px solid #E1002A;
  text-decoration:none;
  justify-content: center;
  align-items: center;
  transition:all .3s;
}
.btn.red>a{
  border:2px solid #E1002A;
}
.btn.green>a{
  border:2px solid #267613;
}
.btn.black>a{
  border:2px solid #333;
}
.btn>a>p{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  text-align:center;

  font-weight:bold;
  line-height:1.5;
  transition:all .3s;
}
.btn.red>a>p{
  color:#E1002A;
}
.btn.green>a>p{
  color:#267613;
}
.btn.black>a>p{
  color:#333;
}
.btn>a:before{
  content:"";
  display: block;
  position: absolute;
  width: 100%;
  height: 10px;
  margin: auto;
  padding: 0;
  bottom:0;
  left:0;
  bottom:0;

  transition:all .3s;
}
.btn.red>a:before{
  background:#E1002A;
}
.btn.green>a:before{
  background:#267613;
}
.btn.black>a:before{
  background:#333;
}
.btn>a:hover>p{
  color:#FBF8F0;
}
.btn>a:hover:before{
  height:100%;
}
.sec_ttl{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  color:#E1002A;
  top:-60px;
}
.sec_ttl>p{
  font-size:120px;
  line-height:1;
  letter-spacing: .08em;
}
.sec_ttl>h2{
  font-size:32px;
  font-weight:normal;
}
.sec_ttl.left{
  text-align:left;
}
.sec_ttl.right{
  text-align:right;
}
p>a,dd>a{
  color:inherit;
  font-weight:bold;
}
@media screen and (max-width: 900px){
  .sec_ttl>p{
    font-size:90px;
  }
  .sec_ttl>h2{
    font-size:28px;
  }
  .sec_ttl{
    top:-40px;
    margin-bottom: 20px;
  }
  .nosp{
    display: none;
  }
}
@media screen and (max-width: 600px){
  .sec_ttl>p{
    font-size:64px;
    font-weight:700;
  }
  .sec_ttl>h2{
    font-size:24px;
  }

}


/*
hero
*/
#hero{
  background-image:url(../img/hero.jpg);
  background-size:cover;
  background-position:center top;
}
#hero:before{
  display: none;
}
.hero_wrap{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 200px 0 100px;
  justify-content: space-between;
  align-items: flex-end;
}
.hero_main{
  display: block;
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}
.hero_main>p{
  position: relative;
  font-size:120px;
  color:#E1002A;
  line-height:1;
  text-shadow:0 0 20px rgba(251, 248, 240,.5);

}
.hero_main>p.hero_copy{
  display: block;
  position: relative;
  margin: 30px auto 0;
  font-size:36px;
  color:#fff;
  font-weight:bold;
  text-shadow:0 0 20px rgba(0,0,0,.5) ;
  line-height:1.5;
}
.hero_main>div>h1{
  position: relative;
  font-size:24px;
  color:#FBF8F0;
}
.hero_main>div{
  display: block;
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}
.hero_main>div:before{
  content:"";
  display: block;
  position: absolute;
  width: 300%;
  height: 100%;
  margin: auto;
  padding: 0;
  top:0;
  right:0;
  background:#E1002A;
}
.hero_garde{
  display: block;
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}
.hero_garde>p{
  font-weight:bold;
  font-size:16px;
  color:#E1002A;
}
.hero_garde>p>img{
  display: inline-block;
  position: relative;
  width: 250px;
  height: auto;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  margin-left:10px;
}
.hero_badge {
  position: absolute;
  top: 50px;
  right: 0;
}
.hero_badge_link {
  color: #fff;
  text-decoration: none;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 250px;
  background-color: #E1002A;
  border-radius: 100%;
}
.hero_badge_link:before {
  display: block;
  content: '';
  padding-top: 100%;
}
.hero_badge_ttl {
  font-size: 30px;
  border-bottom: 1px solid #fff;
  letter-spacing : 0.15em;
}
.hero_badge_date {
  margin-top: 10px;
  font-size: 20px;
  line-height: 1.6;
}
.hero_badge_text {
  margin-top: 5px;
  font-size: 14px;
  letter-spacing : 0.15em;
}
.intro_btn{
  display: block;
  position: relative;
  width:calc(50% - 20px);
}
.hero_video_wrap{
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  margin: auto;
  padding: 0;
  top:0;
  left:0;
  overflow: hidden;
}
.hero_video_inner{
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  margin: auto;
  padding: 0;
  top:0;
  left:0;
  overflow: hidden;
}
.hero_video_inner>video{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  z-index: -1;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.hero_video_inner:after{
  content:"";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  margin: auto;
  padding: 0;
  background:#FBF8F0;
  opacity:.3;
}
@media screen and (max-width: 1200px) {
  .hero_main>p{
    font-size:90px;
  }
  .hero_garde>p>img{
    width: 180px;
  }
  .hero_garde>p{
    font-size:14px;
  }
}
@media screen and (max-width: 900px) {
  .hero_wrap{
    display: block;
  }
  .hero_main{
    width: 100%;
    max-width:473px;
    margin-bottom: 20px;
  }
  .hero_main>p.hero_copy{
    font-size:28px;
  }
  .hero_badge {
    top: 25px;
  }
  .hero_badge_link {
    width: calc(280 / 900 * 100vw);
    height: calc(280 / 900 * 100vw);
  }
  .hero_badge_ttl {
    font-size: calc(35 / 900 * 100vw)
  }
  .hero_badge_date {
    margin-top: 5px;
    font-size: calc(25 / 900 * 100vw);
  }
  .hero_badge_text {
    font-size: calc(18 / 900 * 100vw);
  }
}
@media screen and (max-width: 600px) {
  .hero_main>p{
    font-size:54px;
  }
  .hero_main>div>h1{
    font-size:20px;
  }
  .hero_main{
    max-width:286px;
  }
  .hero_main>p.hero_copy{
    font-size:24px;
    text-shadow:0 0 20px rgba(0,0,0,.4) ;
  }
  .hero_wrap{
    padding: 100px 0 50px;
  }
}


/*
intro
*/
.intro-note {
  margin: 50px 0 0;
}
.intro-note__text {
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  color: #E1002A;
}
.intro_btn_wrap{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 25px auto 50px;
  padding: 0;
  justify-content: space-between;
  max-width:850px;
}
.intro_btn.btn>a>p{
  font-size:20px;
  line-height:1.2;
}
.intro_btn.btn>a>p>span{
  font-size:16px;
}
.intro_main_wrap{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 50px 100px;
  background:#FBF8F0;
  max-width:1100px;

}
.intro_main_wrap>h2{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 30px;
  font-size:48px;

  color:#E1002A;
  max-width:750px;
}
.intro_main_wrap>h2>sup{
  font-size:50%;
  top:-1em;
}
.intro_main_wrap>h2>small{
  font-size:40%;
}
.intro_main_wrap>p{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 50px;
  padding: 0;
  max-width:750px;
  font-size:18px;
  font-weight:bold;
}
.intro_video_wrap{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;

}
.intro_video_wrap>video{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
}
.intro_video_wrap>iframe{
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  margin: auto;
  padding: 0;
  top:0;
  left:0;
}
.intro_entry_btn{
  display: block;
  position: relative;
  width: 90%;
  height: auto;
  margin: 100px auto 200px;
  padding: 0;
  max-width:400px;
}
.intro_entry_btn.btn>a>p{
  font-size:24px;
  letter-spacing: .05em;
}
.intro_locals_wrap{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 100px;
  padding: 0;
  max-width:880px;
  justify-content: center;
  flex-wrap:wrap;
}
.intro_locals_wrap>h2{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 30px;
  text-align:center;
}
.intro_locals_wrap>a{
  display: block;
  position: relative;
  width:calc(33.333333% - 30px);
  height: auto;
  margin: 0 15px 30px;
  padding: 0;
  border:3px solid #E1002A;
  border-radius:20px;
  transition:all .3s;
  overflow: hidden;
  color:inherit;
  text-decoration: none;
  box-shadow:0 4px 6px rgba(0,0,0,.2);
  scroll-behavior: smooth;
}
.intro_locals_wrap>a:hover{
  transform:translateY(-10px);
}
.intro_locals_wrap>a>div{
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  margin: 0 auto;
  padding: 0;
  padding-top: 50%;
  background-size:cover;
  background-position:center;
}
.intro_locals_wrap>a>p{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 10px;
  background:#FBF8F0;
  font-size:18px;
  font-weight:bold;
  color:inherit;
  text-decoration: none;
  line-height:1.5;
  text-align:center;
}
.intro_locals_wrap>a>p>span{
  font-size:14px;
}
@media screen and (max-width: 900px){
  .intro_btn_wrap{
    display: block;
  }
  .intro-note {
    margin: 20px 0 0;
  }
  .intro-note__text {
    text-align: left;
    padding: 0 20px;
  }
  .intro_btn{
    width: 90%;
    max-width:400px;
    margin: 0 auto 30px;
  }
  .intro_locals_wrap>a{
    width:calc(50% - 30px);
  }
}
@media screen and (max-width: 600px){
  .intro_main_wrap{
    padding: 50px 20px;
  }
  .intro_main_wrap>h2{
    font-size:28px;
  }
  .intro_main_wrap>p{
    font-size:16px;
  }
  .intro_video_wrap{
    padding-top: 57%;
  }
  .intro_locals_wrap>a{
    width:calc(50% - 20px);
    margin:0 10px 20px;
  }
  .intro_locals_wrap>a>p{
    font-size:16px;
  }
  .intro_locals_wrap>a>p>span{
    font-size:13px;
  }
}


/*
idea
*/
#idea{
  padding-bottom:150px;
}
.idea_intro_wrap{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 100px;
  padding: 0;
  justify-content: flex-end;
}
.idea_intro_inner{
  display: block;
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  padding: 80px;
  border:1px solid #E1002A;
  background:#EEE6D1;
}
.idea_intro_inner>p{
  font-size:48px;
  line-height:1.5;
}
.idea_intro_inner>div{
  display: block;
  position: absolute;
  width: auto;
  height: auto;
  margin: auto;
  padding: 0;
  top:-25px;
  left:-20px;
}
.idea_intro_inner>div>h3{
  display: inline-block;
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  color:#E1002A;
  font-size:24px;
  background:#EEE6D1;
  padding-right:20px;
  line-height:2;
}
.idea_main_wrap{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 50px;
  background:#EEE6D1;
  max-width:1000px;
}
.idea_main_wrap>p{
  font-size:20px;
  margin-bottom: 30px;
}
.idea_main_inner{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 30px;
  padding: 0;
}
.idea_main_inner>div{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 40px;
  padding: 0;
  border-bottom:1px solid #E1002A;
  align-items:flex-end;
  padding-left:10px;
}
.idea_main_inner>div>p:first-child{
  color:#E1002A;
  font-size:48px;
  margin-right: 20px;
  line-height:0.65;
}
.idea_main_inner>div>p:last-child{
  font-size:24px;
  font-weight:bold;
  line-height:1.5;
}
.idea_notice{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
}
.idea_intro_inner>div.idea_notice{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 70px auto 0;
  padding: 0;
  left:0;
  top:0;
}
.idea_notice>p{
  font-size:16px;
  text-align:center;
}
.idea_notice>p>span{
  font-size:24px;
  font-weight:bold;
  color:#E1002A;
  padding-left: 10px;
  padding-right: 10px;
}
@media screen and (max-width: 900px){
  .idea_intro_inner>p{
    font-size:36px;
  }
  .idea_main_inner>div>p:last-child{
    font-size:20px;
  }
  .idea_main_wrap>p{
    font-size:18px;
  }
  .idea_notice>p>span{
    font-size:20px;
  }
  .idea_intro_wrap{
    display: block;
    margin: 0 auto 50px;
    width: 90%;
  }
}
@media screen and (max-width: 600px){
  .idea_intro_inner>p{
    font-size:24px;
  }
  .idea_intro_inner{
    padding: 40px 20px;
  }
  .idea_main_wrap{
    padding: 50px 20px;
  }
  #idea{
    padding-bottom: 150px;
  }
}


/*
example
*/
#example{
  padding-bottom: 150px;
}
#example .secinner>p{
  font-size:20px;
  margin-bottom: 60px;
}
.example_wrap{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  justify-content: space-between;
  flex-wrap:wrap;
  padding-left: 30px;
  max-width:1000px;
  align-items: flex-start;
}
.example_block{
  display: block;
  position: relative;
  width:calc(50% - 40px);
  height: auto;
  margin: 0 0 70px;
  padding: 80px 30px 30px;
  border:1px solid #E1002A;
  background:#FBF8F0;
  transition:all .3s;
}


.example_block>dl{
  display: block;
  position: absolute;
  width: auto;
  height: auto;
  margin: auto;
  padding: 0;
  top:-25px;
  left:-20px;
  color:#E1002A;
  line-height:1;
}
.example_block>dl>dt{
  display: inline-block;
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  font-size:24px;
  background:#FBF8F0;
  padding-right:20px;
}
.example_block>dl>dt>span{
  font-size:48px;
  padding-left: 10px;
}
.example_block>dl>dd{
  font-size:16px;
  font-weight:bold;
  background:#FBF8F0;
  padding-bottom: 20px;
  padding-right: 20px;
  line-height:1.3;
}
.example_block>h3{
  position: relative;
  font-size:20px;
  padding-right:40px;
  transition:all .3s;
}
.example_block>h3::after{
  content:"+";
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  margin: auto;
  padding: 0;
  right:0;
  top:5px;

  background:#E1002A;
  color:#FBF8F0;
  font-size:28px;
  text-align:center;
  line-height:28px;
  border-radius:100px;
  transition:all .3s;
}
.example_block>h3:hover{
  cursor: pointer;
  padding-bottom:35px;
}
.example_block>h3:hover::after{
  transform:rotateZ(30deg);
}
.example_block.active>h3::after{
  transform:rotateZ(45deg);
}
.example_block.active>h3:hover{
  padding-bottom:0;
}
.example_block.active>h3:hover::after{
  transform:rotateZ(30deg);
}
.example_block>p{
  display: none;
  transition:all .3s;
  margin-top: 30px;
}
.example_block>h4{
  display: none;
  transition:all .3s;
  margin-top: 30px;
  margin-bottom:-20px;
}
.example_img{
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding: 0;
  padding-top: 60%;
  background-color:#000;
  background-size:cover;
  background-position:center;
  margin: 30px auto 0;
  display: none;
}
@media screen and (max-width: 900px){
  .example_wrap{
    display: block;
    max-width:600px;
    margin: 0 auto;
  }
  .example_block{
    width: 100%;
    margin: 0 auto 50px;
  }
}
@media screen and (max-width: 600px){
  #example .secinner>p{
    font-size:16px;
  }
  .example_wrap{
    padding-left: 0;
  }
  .example_block{
    padding: 80px 20px 30px;
  }
  .example_block>dl{
    left:-5px;
  }
}
#gov .example_wrap{
  max-width:800px;
}
#gov .example_block>h3{
  font-size:28px;
}
#gov .secinner>p {
  font-size: 20px;
  margin-bottom: 60px;
}
#gov .example_block{
  width:100%;
}


/*
overview
*/
#overview{
  padding-bottom: 200px;
}
.overview_wrap{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 100px;
  padding: 50px;
  background:#EEE6D1;
  max-width:1000px;
}
.overview_wrap>dl{
  display: flex;
  position: relative;
  width:100%;
  height: auto;
  margin: 0 auto;
  padding: 30px 0;
  border-bottom:1px solid #E1002A;
  justify-content: space-between;
}
.overview_wrap>dl:last-child{
  border-bottom:none;
}
.overview_wrap>dl>dt{
  display: block;
  position: relative;
  width: 150px;
  height: auto;
  margin: 0;
  padding: 0;
  color:#E1002A;
  font-size:18px;
  font-weight:bold;
}
.overview_wrap>dl>dd{
  display: block;
  position: relative;
  width:calc(100% - 160px);
  font-size:18px;
}
.overview_wrap>dl>dd a{
  color:inherit;
}
.overview_prize{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  justify-content: space-between;
}
.overview_prize>div{
  display: block;
  position: relative;
  width:calc(33.333333% - 10px);
  height: auto;
  margin: 0;
  padding: 30px;
  background:#FBF8F0;
  color:#E1002A;
  text-align:center;
  font-size:16px;
}
.overview_prize>div>dl{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  line-height:1.5;
}
.overview_prize>div>dl>dt{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 30px;
  padding: 0;
}
.overview_prize>div>dl>dt>span{
  font-size:24px;
  font-weight:bold;
}
.overview_prize>div>dl>dd>span{
  font-size:28px;
  font-weight:bold;
  padding-left: 5px;
  padding-right: 5px;
}
#overview .secinner>p{
  text-align:center;
  font-weight:bold;
  font-size:16px;
  margin-bottom: 10px;
}
.overview_btn{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
}
.overview_btn>a{
  display: block;
  position: relative;
  width: 90%;
  height: auto;
  margin: 0 auto;
  padding: 20px;
  background:#E1002A;
  color:#EEE6D1;
  font-size:24px;
  text-align:center;
  max-width:400px;
  letter-spacing: .05em;
  text-decoration: none;
  transition:all .3s;
  font-weight:bold;
}
.overview_btn>a:hover{
  transform:translateX(15px);
  padding-left: 35px;
}
.overview_wrap>ul{
  display: block;
  position: relative;
  padding-left:20px;
  margin: 20px auto 0;
  list-style:"※ ";
}
.overview_wrap>ul>li{
  color:#E1002A;
}
@media screen and (max-width: 900px){
  .overview_wrap{
    padding: 50px 20px;
  }
  .overview_prize{
    display: block;
  }
  .overview_prize>div{
    width: 100%;
    margin: 0 0 20px;
    max-width:300px;
  }
}
@media screen and (max-width: 600px){
  .overview_wrap>dl{
    display: block;
  }
  .overview_wrap>dl>dt{
    width: 100%;
  }
  .overview_wrap>dl>dd{
    width: 100%;
  }
  .overview_prize>div{
    margin: 20px 0 0;
  }
}


/*
garde
*/
#garde{
  padding-bottom: 100px;
}
#garde .secinner>p{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 50px 0;
  font-size:18px;
  font-weight:bold;
  max-width:700px;
}
.garde_img{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  justify-content: space-between;
  flex-wrap:wrap;
}
.garde_img>div{
  display: block;
  position: relative;
  width:calc(50% - 10px);
  height: 0;
  margin: 0 0 20px;
  padding-top: 30%;
  background-color:#000;
  background-size:cover;
  background-position:center;
}
@media screen and (max-width: 600px){
  #garde .secinner>p{
    font-size:16px;
  }
  .garde_img>div{
    width: 100%;
    padding-top: 60%;
  }
}


/*
schedule
*/
#schedule{
  padding-top: 100px;
  padding-bottom: 100px;
}
#schedule>.secinner{
  max-width:1200px;
}
.schedule_wrap{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  justify-content: space-between;
  align-items: center;
}
.schedule_ttl{
  display: block;
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  color:#E1002A;
}
.schedule_ttl>p{
  font-size:120px;
  line-height:1;
  letter-spacing: .08em;
}
.schedule_ttl>h2{
  font-size:32px;
  font-weight:normal;
}
.schedule_main{
  display: block;
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  min-width:450px;
}

.schedule_main>div{
  display: flex;
  position: relative;
  width: auto;
  height: auto;
  margin: 0 auto;
  padding: 0;
  color:#E1002A;
  font-size:24px;
  font-weight:bold;
  align-items: center;
}
.schedule_main>div>p.date{
  width:200px;
  text-align:right;
}
.schedule_main>div>p.cont{
  width:calc(100% - 71px - 200px);
}
.schedule_main>div>div{
  display: block;
  position: relative;
  width: 1px;
  height: 120px;
  background:#E1002A;
  margin: 0 30px;
  padding: 0;
}
.schedule_main>div>div:before{
  content:"";
  display: block;
  position: absolute;
  width: 15px;
  height: 15px;
  margin: auto;
  padding: 0;
  background:#E1002A;
  border-radius:20px;
  top:0;
  bottom:0;
  left:-7px;
}
.schedule_main>p{
  margin: 20px auto 0;
}
@media screen and (max-width: 1200px){
  .schedule_wrap{
    display: block;
  }
  .schedule_main{
    max-width:420px;
    margin: 0 auto;
  }
  .schedule_ttl{
    top:-60px;
    margin-bottom: 20px;
  }
  #schedule{
    padding-top: 0;
  }
}
@media screen and (max-width: 900px){
  .schedule_ttl>p{
    font-size:90px;
  }
  .schedule_ttl>h2{
    font-size:28px;
  }
  .schedule_ttl{
    top:-40px;
  }
}
@media screen and (max-width: 600px){
  .schedule_ttl>p{
    font-size:64px;
    font-weight:700;
  }
  .schedule_main>div{
    font-size:20px;
  }
  .schedule_main>div>p.date{
    width:150px;
  }
  .schedule_main>div>p.cont{
    width:calc(100% - 71px - 150px);
  }
}


/*
organizer
*/
#organizer{
  padding-top: 100px;
  padding-bottom: 100px;
  text-align:center;
}
#organizer dl{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  color:#E1002A;
}
#organizer dl>dt{
  font-size:32px;
  margin-bottom: 10px;
}
#organizer dl>dd{
  display: block;
  position: relative;
  width: 90%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  max-width:400px;
}
#organizer dl>dd>a{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
#organizer dl>dd>a>img{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
}
.info_wrap {
  text-align: left;
}
.info_ttl h2 {
  font-size: 100px;
  line-height: 1;
  letter-spacing: .08em;
  color: #E1002A;
}
.info_ttl p {
  font-size: 32px;
  font-weight: normal;
  color: #E1002A;
}
.info_text {
  margin-top: 40px;
  font-size: 18px;
}
.info_entry_btn {
  display: block;
  position: relative;
  width: 90%;
  height: auto;
  margin: 40px auto 100px;
  padding: 0;
  max-width: 400px;
}
.info_entry_btn.btn>a>p {
  font-size: 24px;
  letter-spacing: .05em;
}
@media screen and (max-width: 900px){
  .info_ttl h2 {
    font-size: 45px;
  }
  .info_ttl p {
    font-size: 28px;
  }
  .info_text {
    font-size: 20px;
  }
  .info_entry_btn {
    margin: 50px auto 110px;
  }
}
@media screen and (max-width: 600px){
  #organizer dl>dt{
    font-size:24px;
  }
}

/*
footer
*/
footer{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  background:#E1002A;
  color:#FBF8F0;
  text-align:center;
}
.footer_wrap{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 20px 0;
}
.footer_link{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 20px;
  padding: 0;
  justify-content: center;
  flex-wrap:wrap;
}
.footer_link>a,.footer_link>p{
  color:#FBF8F0;
  text-decoration: none;
  margin: 0 20px 20px;
}
.footer_wrap>p{
  font-size:12px;
}

.tabiico_wrap{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 20px;
  padding: 0;
  text-align:center;
}
.tabiico_wrap>a{
  display: block;
  position: relative;
  width: 80%;
  height: auto;
  margin: 0 auto 10px;
  padding: 0;
  max-width:100px;
}
.tabiico_wrap>a>img{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 600px) {

}
