@charset "utf-8";

/* -------------------------------------------------- */
/* file   : base.css                                  */
/* update : 2019                                      */
/* -------------------------------------------------- */

/* -------------------------------------------------- */
/* 全デバイス共通(PC向け) */
/* --------------------------------------------------- */
/* body */
/* -------------------------------------------------- */
body {
  color: #333;
  -webkit-text-size-adjust: 100%;
}
img {
  width: 100%;
  height: auto;
}

/* link */
/* -------------------------------------------------- */
a:link {
  color: #222;
}
a:visited {
  color: #222;
}
a:hover {
  text-decoration: none;
}


/* h */
/* -------------------------------------------------- */
h1 {
  padding: 40px 0 35px;
  margin: 0 auto;
  max-width: 887px;
  width: 69%;
  box-sizing: border-box;
}

h2 {
  font-size: 48px;
  margin: 30px 0 45px;
  color: #3f7842;
  font-weight: bold;
  letter-spacing: 10px;
}

/* footer */
/* -------------------------------------------------- */
footer {
  text-align: center;
  padding: 25px 0 30px;
  font-size: 15px;
}
footer img {
  width: 33%;
  max-width: 451px;
  height: auto;
}
footer .text01 {
  font-size: 18px;
  font-weight: bold;
  margin: 10px 0;
}

/* layout */
/* -------------------------------------------------- */
.mv_wrap {
  background: url(../img/bg_img_l.png) no-repeat 5% top / 14%,
    url(../img/bg_img_r.png) no-repeat 100% top / 35%,
    url(../img/bg_mv.jpg) center / auto;
}
.mv {
  max-width: 1300px;
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
}
.mv_img {
  text-align: center;
  max-width: 1162px;
  width: 90%;
  margin: 0 auto;
}
.mv .schedule {
  max-width: 1040px;
  padding: 0 20px;
  box-sizing: border-box;
  position: absolute;
  bottom: 5%;
  left: 0;
  right: 0;
  margin: auto;
}
.mv .schedule_wrap {
  display: flex;
  justify-content: flex-start;
  background-color: #fff;
  border-radius: 54px;
  padding: 17px 40px;
}
.mv .schedule .content_l {
  width: 38%;
  border-right: 4px dotted #3f7842;
  display: flex;
  justify-content: flex-start;
}
.mv .schedule .content_l p {
  display: flex;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  margin-right: 10px;
}
.mv .schedule .content_l img {
  max-width: 251px;
  width: 100%;
}
.mv .schedule .content_r {
  text-align: center;
  margin: 0 auto;
  padding: 5px 0;
  width: 63%;
}
.mv .schedule .content_r .bold {
  font-weight: bold;
  color: #3f7842;
  font-size: 24px;
  margin-bottom: 5px;
}
.mv .schedule .content_r .text {
  font-size: 15px;
  font-weight: bold;
}
.day {
  text-align: center;
  padding: 35px 0;
  background-color: #3f7842;
}
.day_img {
  max-width: 1040px;
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
  margin: 0 auto;
  text-align: center;
}
.day_img img {
  max-width: 528px;
  width: 52.8%;
}

section {
  background: url(../img/bg_sec.jpg) repeat center / auto;
  text-align: center;
}
.sec_wrap {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 20px;
  text-align: center;
}
.sec_wrap ul {
  max-width: 1000px;
  margin-bottom: 60px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
}
.sec_wrap ul li {
  max-width: 184px;
  width: 18.5%;
  text-align: center;
}
.sec_wrap ul li p {
  font-size: 18px;
  font-weight: bold;
  margin-top: 8px;
  line-height: 1.4;
  letter-spacing: 1px;
}
.sec_wrap ul li p span {
  display: block;
  font-size: 16px;
  color: #3f7842;
}

.about {
  background: url(../img/bg_icon.png) no-repeat 1.5% 2.5% / 15px,
    url(../img/bg_icon.png) no-repeat 1.5% 97.5% / 15px,
    url(../img/bg_icon.png) no-repeat 98.5% 2.5% / 15px,
    url(../img/bg_icon.png) no-repeat 98.5% 97.5% / 15px;
  background-color: #fff;
  border: 4px solid #3f7842;
  margin-bottom: 80px;
}
.about h2{
  margin: 40px 0 35px;
}
.about p{
  font-size: 27px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 2px;
  padding: 0 15px 55px;
}
.about p span{
background: linear-gradient(transparent 0, #ffffb5 0);
padding: 8px 0;
}

.center {
  text-align: center;
}
.pc {
  display: block;
}
.sp {
  display: none;
}

/* ---------------全デバイス共通(PC)-end--------------------- */
/*----------------------------------------------------------*/
/* tablet用のCSS */
/*----------------------------------------------------------*/
@media screen and (max-width: 959px) {
  /* tablet */
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }

  /* header */
  /* -------------------------------------------------- */

  .g_menu li {
    list-style: none;
  }

  /* h */
  /* -------------------------------------------------- */
  h2 {
    font-size: 40px;
    letter-spacing: 5px;
    margin: 25px 0 40px;
  }

  /* layout */
  /* -------------------------------------------------- */

  .mv .schedule_wrap {
    padding: 10px 20px;
  }

  .mv .schedule .content_l p {
    font-size: 18px;
  }
  .mv .schedule .content_l p:first-of-type {
    width: 76%;
  }
  .mv .schedule .content_r .bold {
    font-size: 18px;
  }
  .mv .schedule .content_r .text {
    font-size: 13px;
  }
  .day_img{
    padding: 0 15px;
  }
  .about h2{
    margin: 30px 0 25px;
  }
  .about p{
    font-size: 20px
  }

  /* -------------------tablet END------------------------- */
}

/*----------------------------------------------------------*/
/* SP用のCSS */
/*----------------------------------------------------------*/
@media screen and (max-width: 559px) {
  /* SP */
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }

  h1 {
    padding: 0;
    width: 100%;
    max-width: inherit;
  }
  .day{
    padding: 20px 0;
  }
  .day_img{
    max-width: inherit;
    width: 85%;
  }
  .day_img img{
    width: 100%;
    max-width: inherit;
  }
  .sec_wrap{
    padding: 0 15px;
  }
  h2{
    margin: 0;
    padding: 15px 0;
    font-size: 24px;
  }
  .sec_wrap ul{
    flex-wrap: wrap;
    margin-bottom: 15px;
  }
  .sec_wrap ul.list02{
    width: 65%;
    margin: 0 auto;
  }
  .sec_wrap ul li{
    flex-wrap: wrap;
    width: 30%;
    max-width: inherit;
  }
  .sec_wrap ul.list02 li{
    width: 46%;
  }
  .sec_wrap ul.list02 li:first-of-type{
    margin-right: 5%;
  }
  .sec_wrap ul li p{
    font-size: 12px;
  }
  .sec_wrap ul li p span{
    font-size: 9px;
  }

  .sec_wrap {
    padding-bottom: 10px;
  }
  .about{
    margin-top: 30px;
    background: url(../img/bg_icon.svg) no-repeat 3% 1.5% / 15px,
    url(../img/bg_icon.svg) no-repeat 3% 98.5% / 15px,
    url(../img/bg_icon.svg) no-repeat 97% 1.5% / 15px,
    url(../img/bg_icon.svg) no-repeat 97% 98.5% / 15px;
    background-color: #fff;
    margin-bottom: 30px;
  }
  .about h2{
    margin: 10px 0 0;
    padding: 10px 0;
  }
  .about p {
    font-size: 14px;
    letter-spacing: 0;
    padding-bottom: 40px;
  }
  .about p span{
    padding: 3px 0;
  }

  footer img {
    width: 75%;
    max-width: 451px;
    height: auto;
  }

  /* ---------------------SP END----------------------------- */
}
