@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:#267613;
  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:right top;
}
#hero:before{
  display: none;
}
.hero_wrap{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 200px 0 50px;
  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:#267613;
  line-height:1;
  text-shadow:0 4px 20px #DEDBD4 ;
}
.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:#267613;
}
.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;
}
.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;
  }
  .hero_main>div>h1{
    font-size:20px;
  }
}
@media screen and (max-width: 900px) {
  .hero_wrap{
    display: block;
  }
  .hero_main{
    width: 100%;
    max-width:473px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 600px) {
  .hero_main>p{
    font-size:54px;
  }

  .hero_main{
    max-width:286px;
  }
}


/*
intro
*/
#intro{
  padding-bottom: 150px;
}
.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 100px;
  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;
  font-weight:bold;
  color:#267613;
  max-width:750px;
}
.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_main_wrap>p>span{
  color:#267613;
}
.intro_video_wrap{
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  margin: 0 auto;
  padding: 0;
  padding-top: 56%;
}
.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;
}
@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;
  }
}
@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%;
  }
}


/*
merit
*/
#merit{
  padding-top:150px;
  padding-bottom:150px;
}
.local_merit_wrap{
  display: block;
    position: relative;
    width: 100%;
    height: auto;
    margin: 0 auto 100px;
    padding: 50px 20px;
    background: #EEE6D1;
    max-width: 1200px;
}
.local_ttl{
  font-size:32px;
  text-align:center;
  margin: 0 auto 50px;
  color:#267613
}
.local_merit_wrap>p{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 50px;
  max-width: 750px;
  font-size:18px;
}
.local_merit_inner{
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  justify-content: space-between;
  flex-wrap:wrap;
}
.local_merit_inner>div{
  display: block;
  position: relative;
  width:calc(33.33333% - 15px);
  height: auto;
  margin: 0;
  padding: 0;
}
.local_merit_img{
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding: 0;
  padding-top: 60%;
  margin: 0 auto 20px;
  background-color:#000;
  background-size:cover;
  background-position:center;
}
.local_merit_inner>div>dl{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
}
.local_merit_inner>div>dl>dt{
  color:#267613;
  margin-bottom: 10px;
  font-size:20px;
}
.merit_entry_btn{
  display: block;
  position: relative;
  width: 90%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  max-width:400px;
}
.merit_entry_btn>a>p{
  font-size:20px;
}
@media screen and (max-width: 900px){
  .local_ttl{
    font-size:28px;
  }
  .local_merit_inner>div{
    width:calc(50% - 10px);
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 600px){
  .local_merit_inner>div{
    width: 100%;
  }
}


/*
flow
*/
#flow{
  padding-top: 150px;
  padding-bottom: 150px;
}
.local_flow_block{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 100px auto 0;
  padding: 50px 40px 40px;
  max-width:900px;
  border:1px solid #267613;
  background:#FBF8F0;
}
#flow .intro_btn_wrap{
  margin-bottom: 0;
}
.local_flow_block_ttl{
  display: block;
  position: absolute;
  width: auto;
  height: auto;
  margin: auto;
  padding: 0 20px 0 0;
  top: -50px;
  left: -10px;
  background:#FBF8F0;
  color:#267613;
  line-height:1.5;
}
.local_flow_block_ttl>h3{
  font-size:24px;
}
.local_flow_block_ttl>h3>span{
  font-size:48px;
}
.local_flow_block>p{
  font-size:16px;
}
.local_flow_block>p>span{
  color:#267613;
}
@media screen and (max-width: 900px){

}
@media screen and (max-width: 600px){
  .local_flow_block_ttl>h3{
    font-size:20px;
  }
  .local_flow_block{
    padding: 50px 30px 40px;
  }
}






/*
footer
*/
footer{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  background:#267613;
  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) {

}