CSS Document */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap');

main{
 color:#333;
 fill: #333;
 font-size: 1.6rem;
 font-family: 'Noto Sans JP', sans-serif;
 font-weight: 400;
 font-style: normal;
 font-feature-settings: "palt";
 text-align: justify;
 line-height: 1.6em;
 overflow: hidden;
 }
 main *{
   font-size: 1em;
   line-height: inherit;
   box-sizing: border-box;
   }
 main > *{
   padding: 4em 0;
   }
 main svg{
   width: 1em;
   height: 1em;
   }
 main section+section,
 main div+div{
   margin-top: 2em;
   }
 main .title{
   font-size: 1.45em;
   font-weight: 900;
   line-height: 1.4em;
   }
 main .subTitle{
   font-size: 1.4em;
   font-weight: 900;
   line-height: 1.4em;
   }
   main .subTitle+*{
     margin-top: 1em;
     }
 main .linkBut{
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 0.5em 1em;
   min-height: 2.8em;
   background: #e8382f;
   border: none;
   border-radius: 0;
   color: #fff;
   fill: #fff;
   font-family: inherit;
   font-size:  inherit;
   font-weight: 900;
   text-decoration: none;
   line-height: 1.4em;
   }
   main .linkBut:hover{
     text-decoration: none;
     opacity: 0.8;
     }
   main .linkBut i{
     margin-right: 0.5em;
     }
   main .linkBut[data-icon="more"]{}
     main .linkBut[data-icon="more"] i{
       margin: 0 -0.5em 0 0.5em;
       }
 main .subject{
   position: relative;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   padding: 0;
   border: none;
   }
   main .subject svg{
     width: auto;
     height: auto;
     margin: 0;
     vertical-align: top;
     }
 main .subject.line{
   align-items: center;
   padding:0;
   }
   main .subject.line:before{
     content: none;
     }
   main .subject.line i{
     position: absolute;
     top: 1em;
     right: 0;
     display: flex;
     flex-direction: column;
     align-items: flex-end;
     width: auto;
     height: auto;
     margin: 0;
     border-radius: none;
     background: none;
     fill: inherit;
     }
     main .subject.line i svg{
       transform: scale(1.2);
       }
   main .subject.line > svg{
     position: absolute;
     top: -5px;
     left: calc(50% - 50vw);
     width: 100vw;
     height: 10px;
     }

#hero{
  padding: 20px 0 540px;
  background: url(../images/main.jpg) no-repeat center top;
 }

#hero h1 {
 width: 452px;
 margin: 0 auto;
}

#pageLink{
 margin-top: -30px;
 padding: 0;
 }
.pageLink-notshow-box {
 position: relative;
}

.pageLink-notshow-box .show {
 z-index: 999;
}

.pageLink-notshow {
 position: absolute;
 top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0,0,0,0.7);
   color: #fff;
   display: flex;
   align-items: center;
   padding: 2em;
}


 #pageLink ul{
   display: flex;
   }
 #pageLink li{
   display: flex;
   width: calc(100% / 5);
   }
   #pageLink li+li{
     margin-left: 1px;
     }
 #pageLink a{
   display: flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   height: 4em;
   padding: 0 0.5em;
   background: #f2f2f2;
   color: inherit;
   font-weight: 900;
   text-decoration: none;
   line-height: 1.4em;
   }
   #about{
     background: rgba(232,56,47,0.1);
     padding: 0;
     margin: 20px 0 50px;
   }
#aboutPoint p.lead{
  font-weight: 600;
      width: 910px;
      font-size: 20px;
      letter-spacing: 2px;
      line-height: 1.75;
      margin: 0 auto;
      text-align: center;
   }
/*#aboutPoint {
  height: 350px;
  background-image: url(../images/pc_cloud.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
   }*/
#aboutPoint p.lead span{
font-size:1.5em;
color:#f00;
}

.marker-animation.active{
    background-position: -100% .5em;
}
.marker-animation {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
    font-weight: bold;
}
#aboutPoint p.notice{
  width: 630px;
  margin: 20px auto 40px;
  text-align: left;
  display: block;
}
#schedule{
  width: 910px;
      margin: 110px auto 0;
      text-align: center;
      color: #ED5024;
      font-size: 28px;
      letter-spacing: 2px;
      padding: 30px 20px;
      font-weight: 600;
      line-height: 1.5;
      border: 3px solid #8CC0F2;
}
#schedule span{
  font-size: 0.8em;
}
 #about h2{
   width: 100%;
   margin: 0 auto;
   color: #e8382f;
   fill: #e8382f;
   text-align: center;

   }

.about-notshow-box {
 position: relative;
}

.about-notshow {
  position: absolute;
      display: block;
      top: -40px;
      right: 0;
      width: 40%;
      height: 60%;
      background: rgba(0,0,0,0.6);
      color: #fff;
      /* display: flex; */
      align-items: center;
      padding: 5em 2em;
      text-align: left;
}

.about-notshow p {
  display: block;
  padding: 5px 0px;
  vertical-align: top;
  color: #fff;
  font-size: 1.75rem;
  line-height: 1.5;
  font-weight: bold;
  margin-left: 0.5em;
  padding-left: 1em;
  text-indent: -1em;
}

#aboutPoint{
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 }
 #aboutPoint dl{
   width: calc(50% - 1em);
   margin-bottom: 10px;
   }
 #aboutPoint dt{
   margin-left: 1em;
   margin-bottom: -2em;
   color: transparent;
   }
   #aboutPoint dt svg{
     width: auto;
     height: auto;
     }
 #about dd{
   padding: 30px 0.8em;
   background: #fdcf00;
   font-weight: 900;
   font-size: 1.5em;
   text-align: center;
   line-height: 1.4em;
   }

 #premium{
   text-align: center;
   padding-top: 0;
   background: rgba(232,56,47,0.1);
 }

 #premium .tada {
   text-align: center;
 }

 #premium .subject {
   text-align: center;
 }



 #premium h3 {
   color: black;

 }

 #premium img {
   width: 45%;
   margin: 20px auto;
 }

#movie{
 text-align: center;
 }

.notshow-box {
 position: relative;
 padding: 0!important;
}

.notshow {
 position: absolute;
 top: -9px;
   left: 0;
   width: 100%;
   height: 101%;
   background: rgba(0,0,0,0.7);
   color: #fff;
   display: flex;
   align-items: center;
   padding: 2em;
}


#campaign{
 padding-top: 0;
 }
 #campaign h2.title{
   margin-top: 40px;
 }
 #campaign #campaign-map {
   position: relative;
 }
 #campaign #campaign-map li {
   position: absolute;
 }
 #campaign #campaign-map li:first-child {
   top: 130px;
   left: 500px;
 }
 #campaign #campaign-map li:nth-child(2) {
   top: 310px;
   left: 260px;
 }
 #campaign #campaign-map li:nth-child(3) {
   top: 575px;
   left: 360px;
 }
 #campaign #campaign-map li:nth-child(4) {
   top: 630px;
   left: 670px;
 }
 #campaign #campaign-map li:nth-child(5) {
   bottom: 60px;
   left: 235px;
 }
 #campaign #campaign-map li:hover {
   opacity: 0.8;
 }
 #campaign #campaign-nav {
   margin-bottom: 70px;
 }
 #campaign #campaign-nav ul {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
 }
 #campaign #campaign-nav li {
   width: 374px;
   margin-bottom: 10px;
 }
 #campaign #campaign-nav a {
   display: block;
   padding: 1.5em;
   color: #000;
   text-align: center;
   background-color: #fdcf00;
   text-decoration: none;
 }
 #campaign #campaign-nav a:hover {
   opacity: 0.8;
 }
 #campaign #campaign-list .list {
   margin-bottom: 60px;
 }
 #campaign #campaign-list .list h3 {
   margin-bottom: 40px;
   padding-bottom: 20px;
   border-bottom: 7px solid #fdcf00;
   font-size: 2em;
   font-weight: 900;
 }
 #campaign #campaign-list .list p {
   padding: 0 20px;
 }
 #campaign #campaign-list .list li {
   margin-bottom: 50px;
   padding-bottom: 60px;
   border-bottom: 1px solid #dbdbdb;
 }
 #campaign #campaign-list .list li:last-child {
   margin-bottom: 0;
 }
 #campaign #campaign-list .list figure {
   display: flex;
   align-items: center;
   justify-content: space-between;
 }

 #campaign #campaign-list .list figure p {
   width: 449px;
 }

 #campaign #campaign-list .list figure p:hover {
   opacity: 0.8;
 }

 #campaign #campaign-list .list figcaption {
   width: 655px;
   font-weight: 900;
   font-size: 1.2em;
 }

 #campaign #campaign-list .list figcaption a {
   color: #000;
 }

 #campaign #campaign-list .list figcaption a:hover {
   text-decoration: none;
 }


#contact{
 padding-top: 0;
 }
 #contact h5{
   font-size: 1.2em;
   }
 #contact h5+div{
   margin-top: 1em;
   }
 #contact dl{
   display: flex;
   flex-wrap: wrap;
   }
   #contact dl:before{
     content: "";
     width: 100%;
     order: 7;
     }
 #contact dt,
 #contact dd{}
   #contact dt:nth-of-type(-n+2),
   #contact dd:nth-of-type(-n+2){
     font-size: 1.2em;
     }
   #contact dt:nth-of-type(n+3),
   #contact dd:nth-of-type(n+3){
     margin-top: 0.5em;
     order: 8;
     }
 #contact dt{}
   #contact dt:after{
     content: "：";
     }
 #contact dd{
   margin-right: 2em;
   }
 #contact .wrap{
   padding: 2em;
   background: #f2f2f2;
   font-style: normal;
   }

#footer{}
 #footer:before{
   display: none;
   }
#fNav{
 padding-bottom: 2em;
 }
#copyright{
 display: none;
 }


.buttonSet{
 display: flex;
 justify-content: center;
 }
 .buttonSet > *+*{
   margin-left: 1em;
   }
 .buttonSet ul{
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   margin: -0.5em;
   }
 .buttonSet li{
   display: flex;
   padding: 0.5em;
   list-style: none;
   }
   .buttonSet li > *{
     width: 100%;
     }

.list{}
 .list.notes{}
   .list.notes > li{
     padding-left: 1em;
     text-indent: -1em;
     }
 .list+*,
 *+.list{
   margin-top: 1em;
   }
/*cpn1*/
#cpn1 .title{
  background: #649600;
height: 75px;
}
#cpn1 .titlewrap{
  position: relative;
}
#cpn1 .title img.title{
  width: 590px;
  display: block;
  margin: 0px auto;
  padding: 21px 0;
}
#cpn1 .titlewrap img.illust{
  position: absolute;
      top: -15px;
      width: 165px;
      left: 900px;
}
.contents{
  margin: 80px auto 0;
}

.contents .imgwrap{
  float: left;
  width: 330px;
  margin-right: 40px;
}

.clear{
  clear:both;
}
.contents .textwrap .text{
  color: #649600;
font-size: 24px;
font-weight: 600;
line-height: 1.75;
}
.contents .linkwrap{
  display: flex;
  justify-content: flex-end;
  margin-top: 13px;
}
/*.contents .linkwrap .item{
  margin: 0!important;
  border: 2px solid #649600;
  width: 400px;
  padding: 15px 20px;
}*/
/*.contents .linkwrap .item a{
  color: #649600;
    text-decoration: none;
    font-weight: 600;
    position: relative;
}*/
.contents .linkwrap .item a:before {/*スペースを作る*/
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  padding-top:0;
  display: block;
}
#cpn1 .contents .linkwrap .item a:after{
  position: absolute;
  content: '';
  top: 14px;
  left: 200px;
  display: block;
  width: 12px;
  height: 30px;
  background-image: url(../images/tri_01.png);
  background-size: contain;
  background-repeat: no-repeat;
}
/*cpn1*/
/*cpn2*/
#cpn2{
padding:0 0 4em;
}
#cpn2 .title{
  background: #8CC0F2;
height: 75px;
}
#cpn2 .titlewrap{
  position: relative;
}
#cpn2 .title img.title{
  width: 770px;
  display: block;
  margin: 0px auto;
  padding: 21px 0;
}
#cpn2 .titlewrap img.illust{
  position: absolute;
  top: -55px;
  width: 165px;
  left: 10px;
}
#cpn2 .contents .linkwrap .item a:after{
  position: absolute;
  content: '';
  top: 15px;
  right: 15px;
  display: block;
  width: 20px;
  height: 30px;
  background-image: url(../images/tri_02.png);
  background-size: contain;
  background-repeat: no-repeat;
}
#cpn2 .contents .linkwrap .item{
      margin-right: 25px !important;
      display: block;
}
#cpn2 .contents .linkwrap .item a{
  color: #fff;
      font-size: 1.4em;
      border: 2px solid #8CC0F2;
      background: #8cc0f2;
      width: 400px;
      display: block;
      padding: 15px 20px;
      display: block;
      position:relative;
}
.button::before,
.button::after {
  position: absolute;
  display: block;
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button {
  color: #fff;
}
.button:hover {
  background: #fff!important;
  color: #8cc0F2!important;
  text-decoration: none;
}
#cpn2 .contents .linkwrap .item a:hover:after{
  background-image: url(../images/tri_02blue.png);
}
#cpn2 .contents .textwrap .text{
  color: #333;
}
#cpn2 .contents .textwrap .text span{
  color: #f00;
    font-size: 1.5em;
    letter-spacing: 1px;
}
/*#cpn2 .contents .linkwrap {
  margin-top: 60px;
  justify-content: start;
}*/
/*cpn2*/
/*cpn3*/
#cpn3 .title{
  background: #FF8088;
height: 75px;
}
#cpn3 .titlewrap{
  position: relative;
}
#cpn3 .title img.title{
  width: 700px;
  display: block;
  margin: 0px auto;
  padding: 21px 0;
}
#cpn3 .titlewrap img.illust{
  position: absolute;
      top: -55px;
      width: 112px;
      left: 930px;
}
#cpn3 .contents .linkwrap .item a:after{
  position: absolute;
  content: '';
  top: 14px;
  left: 200px;
  display: block;
  width: 12px;
  height: 30px;
  background-image: url(../images/tri_03.png);
  background-size: contain;
  background-repeat: no-repeat;
}
#cpn3 .contents .linkwrap .item{
  border: 2px solid #FF8088;
      margin-right: 25px !important;
      display: block;
}
#cpn3 .contents .linkwrap .item a{
  color: #FF8088;
}
#cpn3 .contents .textwrap .text{
  color: #FF8088;
}
#cpn3 .contents .linkwrap {
  margin-top: 60px;
  justify-content: start;
}

@media (min-width:1200px) {
}

@media (max-width:1400px) {
  #hero{
    padding: 20px 0 540px;
    background: url(../images/main2.jpg) no-repeat center top;
   }
 }

@media (max-width:1200px) {
  #cpn1 .contents .linkwrap .item a:after {
      position: absolute;
      content: '';
      top: 14px;
      left: 160px;
      display: block;
      width: 12px;
      height: 30px;
      background-image: url(../images/tri_01.png);
      background-size: contain;
      background-repeat: no-repeat;
  }
  .contents .linkwrap {
    display: flex;
    justify-content: space-between;
    margin-top: 60px;
}
#cpn1 .contents .linkwrap .item {
    margin: 0!important;
    border: 2px solid #649600;
    width: 195px;
    padding: 5px 10px;
}
#cpn2 .contents .linkwrap {
    margin-top: 15px;
    justify-content: flex-end;
}
#cpn3 .contents .linkwrap {
    margin-top: 15px;
    justify-content: start;
}
}


@media all and (-ms-high-contrast:none){
}


/*0304*/
/*cpn4*/
#cpn4{
padding:0 0 4em;
}
#cpn4 .title{
  background: #ABD37C;
height: 75px;
}
#cpn4 .titlewrap{
  position: relative;
}
#cpn4 .title img.title{
  width: 540px;
  display: block;
  margin: 0px auto;
  padding: 21px 0;
}
#cpn4 .titlewrap img.illust{
  position: absolute;
      top: -45px;
      width: 109px;
      right: 160px;
}
#cpn4 .contents .linkwrap .item a:after{
  position: absolute;
  content: '';
  top: 15px;
  right: 15px;
  display: block;
  width: 20px;
  height: 30px;
  background-image: url(../images/tri_02.png);
  background-size: contain;
  background-repeat: no-repeat;
}
#cpn4 .contents .linkwrap .item{
      margin-right: 25px !important;
      display: block;
}
#cpn4 .contents .linkwrap .item a{
  color: #fff;
      font-size: 1.4em;
      border: 2px solid #ABD37C;
      background: #ABD37C;
      width: 400px;
      display: block;
      padding: 15px 20px;
      display: block;
      position:relative;
}
#cpn4 .contents .linkwrap .item a:hover:after{
  background-image: url(../images/tri_01.png);
}
#cpn4 .button:hover {
  background: #fff!important;
  color: #ABD37C!important;
  text-decoration: none!important;
}
#cpn4 .contents .textwrap .text{
  color: #333;
}
#cpn4 .contents .textwrap .text span{
  color: #f00;
    font-size: 1.5em;
    letter-spacing: 1px;
}
#cpn4 .contents .linkwrap {
  margin-top: 60px;
  justify-content: flex-end;
}
#cpn4 span.pink{
  color: #f6adc6!important;
}
#cpn4 .greenborder{
  border: 3px solid #ABD37C;
}

/*cpn4*/

/*cpn4*/
#cpn5{
padding:0 0 4em;
}
#cpn5 .title{
  background: #f6adc6;
height: 75px;
}
#cpn5 .titlewrap{
  position: relative;
}
#cpn5 .title img.title{
  width: 540px;
  display: block;
  margin: 0px auto;
  padding: 21px 0;
}
#cpn5 .titlewrap img.illust{
  position: absolute;
  top: -30px;
  width: 130px;
  right: 160px;
}
#cpn5 .contents .linkwrap .item a:after{
  position: absolute;
  content: '';
  top: 15px;
  right: 15px;
  display: block;
  width: 20px;
  height: 30px;
  background-image: url(../images/tri_02.png);
  background-size: contain;
  background-repeat: no-repeat;
}
#cpn5 .contents .linkwrap .item{
      margin-right: 25px !important;
      display: block;
}
#cpn5 .contents .linkwrap .item a{
  color: #fff;
      font-size: 1.4em;
      border: 2px solid #f6adc6;
      background: #f6adc6;
      width: 400px;
      display: block;
      padding: 15px 20px;
      display: block;
      position:relative;
}
#cpn5 .contents .linkwrap .item a:hover:after{
  background-image: url(../images/tri_03.png);
}

#cpn5 .button:hover {
  background: #fff!important;
  color: #f6adc6!important;
  text-decoration: none!important;
}
#cpn5 .contents .textwrap .text{
  color: #333;
}
#cpn5 .contents .textwrap .text span{
  color: #f00;
    font-size: 1.5em;
    letter-spacing: 1px;
}
#cpn5 .contents .linkwrap {
  margin-top: 60px;
  justify-content: flex-end;
}
#cpn5 span.pink{
}

#cpn5 .greenborder{
  border: 3px solid #f6adc6;
}
#cpn5 #schedule p{
  font-size: 0.8em;
}
#cpn5 #schedule span{
  text-align: center;
    display: block;
    line-height: 1.5;
    margin-top: 20px;
}
/*cpn5*/

@media (max-width:1200px) {
  #cpn2 .titlewrap img.illust{
    left: -50px;
  }
  #cpn4 .titlewrap img.illust{
    right: 90px;
  }
  #cpn5 .titlewrap img.illust{
    right: 80px;
  }
}
