/* media query */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/earlyaccess/roundedmplus1c.css);
@import url(https://fonts.googleapis.com/css?family=Marcellus);
section {
  padding: 50px 0; }

.bg_o {
  background: url("../img/bg01.jpg") repeat top center; }

.bg_g {
  background: #AADC52; }

.a_none {
  pointer-events: none; }

h2 {
  font-weight: bold;
  font-size: 200%;
  color: #00873C;
  margin: 0 0 15px 0;
  line-height: 1.3em; }
  @media all and (max-width: 668px) {
    h2 {
      font-size: 150%; } }

.main {
  padding: 0; }

.intro {
  text-align: center;
  font-weight: bold; }
  .intro .area_intro .txt {
    padding: 20px 0; }
    @media all and (max-width: 668px) {
      .intro .area_intro .txt {
        text-align: left; } }
  .intro .area_intro ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 0 30px 0; }
    .intro .area_intro ul li {
      max-width: 450px;
      padding: 10px;
      box-sizing: border-box; }
  .intro .area_bg_w {
    padding: 30px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 20px; }
    @media all and (max-width: 668px) {
      .intro .area_bg_w {
        padding: 20px 15px; } }
    @media all and (max-width: 668px) {
      .intro .area_bg_w h3 {
        margin: 0 0 10px 0; } }
    .intro .area_bg_w .movie {
      position: relative; }
      @media all and (max-width: 668px) {
        .intro .area_bg_w .movie iframe {
          width: 100%; } }
      .intro .area_bg_w .movie .coming {
        position: absolute;
        top: 38.5%;
        right: 0;
        left: 0;
        max-width: 600px;
        margin: 0 auto; }
        @media all and (max-width: 668px) {
          .intro .area_bg_w .movie .coming {
            top: 33%; } }
        .intro .area_bg_w .movie .coming p {
          font-weight: bold;
          font-size: 300%;
          color: #fff;
          background: rgba(0, 135, 59, 0.7);
          line-height: 1em;
          padding: 15px 0; }
          @media all and (max-width: 668px) {
            .intro .area_bg_w .movie .coming p {
              font-size: 200%; } }
    .intro .area_bg_w .flex_logo {
      display: flex;
      justify-content: center;
      flex-wrap: wrap; }
      .intro .area_bg_w .flex_logo li {
        padding: 10px;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center; }
        .intro .area_bg_w .flex_logo li a img {
          max-height: 40px;
          width: auto; }
          @media all and (max-width: 668px) {
            .intro .area_bg_w .flex_logo li a img {
              max-height: 25px; } }

@media all and (max-width: 800px) {
  .present .area_present {
    text-align: center; } }
.present .area_present h2 {
  z-index: 1; }
  .present .area_present h2 img {
    max-width: 60%; }
    @media all and (max-width: 800px) {
      .present .area_present h2 img {
        max-width: 100%; } }
.present .area_present .sec_txt {
  font-weight: bold;
  padding: 0 0 50px 0;
  position: relative;
  width: 100%; }
  @media all and (max-width: 800px) {
    .present .area_present .sec_txt {
      padding: 0; } }
  .present .area_present .sec_txt .txt {
    display: block;
    width: 50%; }
    @media all and (max-width: 800px) {
      .present .area_present .sec_txt .txt {
        width: 100%; } }
  .present .area_present .sec_txt span {
    color: #FF0000;
    text-shadow: 1px  1px 0px #ffffff, -1px  1px 0px #ffffff, 1px -1px 0px #ffffff, -1px -1px 0px #ffffff, 1px  0px 0px #ffffff, 0px  1px 0px #ffffff, -1px  0px 0px #ffffff, 0px -1px 0px #ffffff; }
.present .area_present .flex_point {
  display: flex;
  justify-content: flex-end;
  position: absolute;
  bottom: 0;
  right: 0; }
  @media all and (max-width: 800px) {
    .present .area_present .flex_point {
      position: relative;
      justify-content: center;
      padding: 20px 0; } }
.present .area_present .point01 img {
  max-width: 220px;
  margin: 100px 0 0 0; }
  @media all and (max-width: 800px) {
    .present .area_present .point01 img {
      margin: 0; } }
@media all and (max-width: 1000px) {
  .present .area_present .point01 {
    width: 20vw;
    max-width: auto; } }
@media all and (max-width: 800px) {
  .present .area_present .point01 {
    width: 170px; } }
.present .area_present .point02 {
  margin: 20px 0 0 0; }
  @media all and (max-width: 800px) {
    .present .area_present .point02 {
      margin: 0; } }
  .present .area_present .point02 img {
    max-width: 330px; }
    @media all and (max-width: 1000px) {
      .present .area_present .point02 img {
        max-width: auto;
        width: 30vw; } }
    @media all and (max-width: 800px) {
      .present .area_present .point02 img {
        width: 170px; } }
.present .area_present .flex_pre {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media all and (max-width: 800px) {
    .present .area_present .flex_pre {
      margin: 0 0 15px 0; } }
  .present .area_present .flex_pre li {
    width: 33.333%; }
    @media all and (max-width: 668px) {
      .present .area_present .flex_pre li {
        width: 50%; } }
    .present .area_present .flex_pre li:first-child {
      position: relative;
      top: -16px;
      margin: 0 0 -18px 0; }
      @media all and (max-width: 800px) {
        .present .area_present .flex_pre li:first-child {
          top: -8px; } }

.oubo .area_bg_w {
  padding: 30px 50px;
  box-sizing: border-box;
  border-radius: 20px;
  background: #fff; }
  @media all and (max-width: 800px) {
    .oubo .area_bg_w {
      padding: 20px 15px; } }
.oubo h2 {
  background: url("../img/line.png") no-repeat center bottom/100% auto;
  padding: 0 0 20px 0;
  text-align: center; }
  @media all and (max-width: 800px) {
    .oubo h2 {
      padding: 0 0 10px 0; } }
.oubo dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 20px 0; }
  .oubo dl dt {
    background: #AADC52;
    color: #fff;
    font-weight: bold;
    width: 25%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    font-size: 120%;
    text-shadow: 0px 0px 10px #00873C;
    margin: 0 0 5px 0;
    padding: 10px;
    box-sizing: border-box; }
    @media all and (max-width: 800px) {
      .oubo dl dt {
        width: 100%; } }
  .oubo dl dd {
    width: 73%;
    margin: 0 0 5px 0;
    padding: 10px 0;
    box-sizing: border-box; }
    @media all and (max-width: 800px) {
      .oubo dl dd {
        width: 100%; } }
.oubo .block_info {
  margin: 20px 0 0 0; }
  .oubo .block_info .title {
    font-weight: bold;
    color: #00873C;
    font-size: 110%;
    text-align: center;
    margin: 0 0 10px 0; }
