@charset "utf-8";
/* CSS Document */
@import url("layout_sp.css");
@media screen and (max-width: 959px) {
  /************************************************************ main*/
  header {
    height: 80px;
  }
  /************************************************************ main*/
  main {
    padding: 0 0 40px 0;
  }
  #main {}
  #main .inner {}
  /* ------------------------------ mainvisual*/
  #mainvisual {
    width: calc(100% - 30px);
    margin: 0 auto;
  }
  #mainvisual .inner {
    margin: 0 0 100px 0;
  }
  #mainvisual .inner .pict_01 {
    width: 90%;
  }
  #mainvisual .inner .pict_01 img {
    border-radius: 30px;
  }
  #mainvisual .inner .pict_02 {
    width: 50%;
    bottom: -40px;
  }
  #mainvisual .inner .pict_02 img {
    border-radius: 0 30px 30px 30px;
  }
  #mainvisual .inner .catch {
    top: auto;
    bottom: -120px;
    left: 0;
    right: auto;
    font-size: 2.8rem;
    padding: 0 20px;
  }
  @media screen and (max-width: 414px) {
    #mainvisual .inner .catch {
      font-size: 2.4rem;
    }
  }
  #mainvisual .inner .catch::before {
    background-size: 280px;
    width: 280px;
  }
  #mainvisual .inner .catch span {
    font-size: 1.8rem;
    text-align: left;
  }
  /* ------------------------------ intro*/
  #intro {
    overflow: hidden;
    padding: 80px 0 60px 0;
  }
  #intro .inner::before {
    display: none;
  }
  #intro .inner::after {
    right: -100px;
    bottom: -60px;
    background-size: 300px;
    width: 300px;
    height: 270px;
  }
  #intro .inner {
    width: calc(100% - 60px);
    border-radius: 22px;
    padding: 30px 30px;
  }
  #intro .inner p {
    font-size: 1.4rem;
  }
  /**/
  #intro .inner h2 {
    font-size: 2.0rem;
    padding: 0 30px;
  }
  #intro .inner h2:before, #intro .inner h2:after {}
  #intro .inner h2:before {
    left: 0;
  }
  #intro .inner h2:after {
    right: 0;
  }
  /**/
  #intro .inner table {
    width: 100%;
  }
  #intro .inner table th, #intro .inner table td {
    font-size: 1.4rem;
  }
  @media screen and (max-width: 414px) {
    #intro .inner table th, #intro .inner table td {
      font-size: 1.3rem;
    }
  }
  #intro .inner table th {
    width: 18%;
  }
  #intro .inner table td {
    padding: 5px 8px;
  }
  /* ------------------------------ info*/
  #info {
    width: calc(100% - 60px);
    margin: 0 auto;
  }
  #info h2 {
    font-size: 2.4rem;
    padding: 34px 0 20px 0;
  }
  #info h2::before {
    height: 25px;
  }
  #info .inner {
    padding: 0 0 20px 0;
  }
  #info article a {
    border: none;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 20px 25px;
  }
  #info article a h3 {}
  #info article a .day {
    width: 100%;
    margin: 0;
    -webkit-order: -1;
    order: -1;
  }
  /* ボタン */
  #info .btn {
    display: block;
    width: 100%;
    max-width: 380px;
    margin: 10px auto;
    padding: 18px 100px 18px 30px;
    font-size: 1.4rem;
  }
  #info .btn::before {
    right: 18px;
    top: calc(50% - 4px);
    width: 8px;
    height: 8px;
  }
  #info .btn::after {
    right: 32px;
    width: 20px;
  }
  #info .btn:hover::before {
    right: 16px;
  }
  #info .btn:hover::after {
    right: 22px;
  }
}