@charset "UTF-8";
@media all and (min-width: 769px) {
  .container {
    margin-bottom: 0px; }
  .header.special {
    padding: 10px 0;
    background: linear-gradient(90deg, #ec6d81, #f6b8c2); }
  .header-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 960px;
    margin: 0 auto; }
  .header-left .header__en {
    display: block; }
  .header-right {
    text-align: right; }
    .header-right__subtitle {
      display: block;
      font-family: 'Zen Maru Gothic', sans-serif;
      font-weight: 700;
      font-size: 16px;
      color: white;
      margin-right: 15px; }
    .header-right__date {
      display: inline-block;
      font-weight: 500;
      font-size: 13px;
      color: white; }
  .lower-wrap {
    padding: 10px; }
  .lower__title {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: 24px;
    line-height: 1.8;
    font-weight: 700;
    letter-spacing: 0.2rem;
    color: #434343;
    background-color: #ffc1c8;
    padding-left: 15px;
    margin-bottom: 15px; }
  .lower__subtitle {
    font-size: 18px;
    font-weight: 500;
    color: #434343;
    margin-bottom: 1rem; }
  .lower__subtitle2 {
    font-size: 18px;
    color: red !important;
    margin-top: -1rem;
    padding-left: 14rem; }
  .lower__subtitle3 {
    font-size: 16px;
    font-weight: 500; }
  .lower__subtitle4 {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 0.5rem; }
  .lower__textstrong {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 0.5rem;
    margin-left: -10px;
    padding-left: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc; }
  .lower__eventtitle {
    position: relative;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05rem;
    color: #333;
    margin-bottom: 0.6rem; }
    .lower__eventtitle::before {
      content: "●";
      font-size: 16px;
      color: #ffb1b9;
      margin-right: 2px; }
  .lower .pagetoplink {
    text-align: right;
    margin-bottom: 40px; }
    .lower .pagetoplink a::before {
      content: "▲";
      color: #999;
      margin-right: 3px; }
  .lower__entrytitle {
    font-size: 17px;
    font-weight: 500;
    padding-left: 10px;
    padding-bottom: 5px;
    margin-top: 30px;
    margin-bottom: 1rem;
    margin-left: -10px;
    border-bottom: 1px solid #ccc; }
    .lower__entrytitle.topmargin0 {
      margin-top: 0; }
    .lower__entrytitle.caution::before {
      content: "◆";
      color: #ffb1b9;
      margin-right: 5px; }
  .lower__entrysubtitle {
    font-size: 15px;
    font-weight: 500;
    margin-top: 20px;
    margin-bottom: 0.5rem;
    margin-left: -10px;
    padding-left: 10px; }
  .lower__link {
    padding: 10px 0 15px; }
    .lower__link a {
      display: inline-block;
      border: 1px solid #aaaaaa;
      height: 35px;
      border-radius: 14px;
      font-size: 15px;
      font-weight: 500;
      letter-spacing: 0.3rem;
      line-height: 32px;
      color: white !important;
      padding: 0 10px 0 20px;
      background: linear-gradient(90deg, #ec6d81, #f6b8c2);
      margin-right: 6px; }
      .lower__link a::after {
        position: relative;
        top: -1px;
        font-size: 12px;
        line-height: 1;
        content: "▶";
        margin-left: 10px; }
  .lower__link2 {
    margin-bottom: 30px; }
    .lower__link2 a {
      display: inline-block;
      border: 1px solid #aaaaaa;
      height: 40px;
      border-radius: 14px;
      color: #ffffff;
      padding: 0 20px;
      background: linear-gradient(90deg, #ec6d81, #f6b8c2);
      box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1); }
      .lower__link2 a span {
        display: inline-block;
        position: relative;
        font-size: 16px;
        line-height: 35px;
        font-weight: 500; }
        .lower__link2 a span::after {
          position: relative;
          top: -1px;
          font-size: 12px;
          line-height: 1;
          content: "▶";
          margin-left: 7px; }
  .lower__arrow {
    width: 40px;
    height: calc(40px / 2);
    text-indent: -9999px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #e0f1ff;
    margin: 0 auto 15px; }
  .lower__box {
    text-align: center;
    margin-bottom: 12px; }
    .lower__box span {
      display: inline-block;
      font-size: 17px;
      padding: 10px 20px;
      background: #e0f1ff;
      line-height: 1.4; }
    .lower__box-wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-top: 28px; }
    .lower__box-set {
      width: 50%; }
      .lower__box-set p {
        text-align: center; }
        .lower__box-set p.textleft {
          text-align: left; }
  .lower__textpc {
    text-align: center; }
  .lower__table__jnjsg22 table {
    font-size: 14px;
    margin: 0 0 5px !important;
    padding: 0 !important;
    border: 1px solid #999; }
    .lower__table__jnjsg22 table th {
      margin: 0;
      padding: 5px 10px !important;
      border-right: 1px solid #999;
      border-bottom: 1px solid #999 !important; }
    .lower__table__jnjsg22 table td {
      text-align: left !important;
      margin: 0;
      padding: 5px 10px !important;
      border-bottom: 1px solid #999 !important; }
  .lower__table__jnjsg23 {
    margin-bottom: 2rem; }
    .lower__table__jnjsg23 table {
      width: 100%;
      font-size: 14px;
      margin: 0 0 5px !important;
      padding: 0 !important;
      border: 1px solid #999; }
      .lower__table__jnjsg23 table th {
        white-space: nowrap;
        margin: 0;
        padding: 5px 10px !important;
        border-right: 1px solid #999;
        border-bottom: 1px solid #999 !important; }
      .lower__table__jnjsg23 table td {
        text-align: left !important;
        margin: 0;
        padding: 5px 10px !important;
        border-bottom: 1px solid #999 !important; }
  .lower .content p {
    font-size: 14px;
    line-height: 1.7;
    color: #2d2d2d;
    margin-bottom: 2rem; }
    .lower .content p a {
      color: #ff6b7a; }
      .lower .content p a.icon {
        display: inline-block;
        padding-left: 18px;
        background: url(../images/index/ico-more.png) left center no-repeat;
        background-size: 14px 14px; }
    .lower .content p small {
      font-size: 12px; }
    .lower .content p + .lower__eventtitle {
      padding-top: 1rem; }
    .lower .content p.nomargin {
      margin-bottom: 0.5rem; }
    .lower .content p .textindent1 {
      display: inline-block;
      text-indent: 4.2rem; }
  .lower .content ul {
    margin-bottom: 2rem; }
    .lower .content ul li {
      font-size: 14px;
      line-height: 1.7;
      color: #2d2d2d; }
      .lower .content ul li::before {
        content: "・"; }
  .lower .content dl {
    font-size: 14px;
    line-height: 1.7;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0.5rem; }
    .lower .content dl dt {
      width: 80px; }
    .lower .content dl dd {
      width: calc(100% - 80px); }
  .lower .content .sub {
    padding-left: 10px;
    margin-bottom: 40px;
    width: 720px; }
  .lower .content table {
    margin-left: 30px;
    margin-bottom: 40px;
    border-spacing: 0; }
    .lower .content table th {
      width: 130px;
      border-bottom: solid 2px #003366;
      padding: 10px 0; }
    .lower .content table td {
      border-bottom: solid 2px #ddd;
      text-align: center;
      padding: 10px 0; }
  .lower .content .scroll {
    width: 100%;
    max-height: 200px;
    overflow-y: scroll;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    padding: 10px;
    background-color: white; }
  .lower .content .scroll p {
    padding-left: 10px;
    margin-bottom: 15px; }
    .lower .content .scroll p:last-child {
      margin-bottom: 0; }
  .lower .thanks {
    background-color: white;
    border: 4px double #ffb1b9;
    padding: 20px 20px 1px;
    margin-bottom: 20px; }
    .lower .thanks strong {
      display: block;
      text-align: center;
      font-size: 16px;
      line-height: 1.7;
      margin-bottom: 10px; }
    .lower .thanks p {
      padding-left: 5rem;
      font-size: 14px;
      line-height: 1.7; }
  .lower .side {
    padding-top: 0px;
    padding-bottom: 50px;
    width: 250px; }
    .lower .side__menu {
      border-top: solid 1px #cbcbcb;
      margin-bottom: 25px; }
      .lower .side__menu__btn {
        position: relative;
        display: block;
        font-size: 15px;
        font-weight: 600;
        width: 100%;
        padding: 1rem 0.5rem 1rem 19px;
        border-bottom: solid 1px #cbcbcb;
        color: #3d3d3d; }
        .lower .side__menu__btn::before {
          content: "▶";
          font-size: 10px;
          line-height: 1;
          color: #999;
          position: absolute;
          left: 0px;
          top: calc(50% - 5px); }
        .lower .side__menu__btn.nolink {
          color: #c6c6c6; }
          .lower .side__menu__btn.nolink::before {
            color: #e1e1e1; }
    .lower .side__info dl dt {
      font-size: 15px;
      line-height: 1.6;
      font-weight: bold;
      margin-top: 15px;
      margin-bottom: 10px;
      padding-left: 10px;
      color: #434343;
      background-color: #ffcad0; }
    .lower .side__info dl dd p {
      font-size: 13px;
      padding-left: 7px; }
      .lower .side__info dl dd p small {
        display: block;
        font-size: 11px;
        line-height: 1.5;
        padding-top: 5px; } }

@media all and (max-width: 768px) {
  .header.special {
    padding: 10px;
    background: linear-gradient(90deg, #ec6d81, #f6b8c2); }
  .header-left .header__en {
    display: block; }
  .header-left .header__title {
    display: block;
    font-size: 80%; }
  .header-right {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center; }
    .header-right__subtitle {
      display: block;
      font-family: 'Zen Maru Gothic', sans-serif;
      font-weight: 700;
      font-size: 14px;
      color: white;
      margin-right: 15px; }
    .header-right__date {
      display: inline-block;
      font-weight: 500;
      font-size: 12px;
      color: white; }
  .main {
    width: 100%;
    padding: 10px; }
  .lower {
    display: flex;
    flex-flow: column-reverse; }
    .lower-wrap {
      padding: 10px; }
    .lower__title {
      font-family: 'Zen Maru Gothic', sans-serif;
      font-size: 20px;
      line-height: 1.8;
      font-weight: 700;
      letter-spacing: 0.2rem;
      color: #434343;
      background-color: #ffc1c8;
      padding-left: 10px;
      margin-bottom: 5px; }
    .lower__subtitle {
      font-size: 16px;
      line-height: 1.6;
      font-weight: 500;
      color: #434343;
      margin-top: 2rem;
      margin-bottom: 1rem; }
    .lower__subtitle2 {
      font-size: 16px;
      color: red !important;
      margin-top: -1.5rem;
      padding-left: 13.2rem; }
    .lower__subtitle3 {
      font-size: 15px;
      font-weight: 500; }
    .lower__subtitle4 {
      font-size: 14px;
      font-weight: 500;
      margin-bottom: 0.5rem; }
    .lower__textstrong {
      font-size: 15px;
      line-height: 1.6;
      font-weight: 500;
      margin-bottom: 0.5rem;
      margin-left: -5px;
      padding-left: 5px;
      padding-bottom: 5px;
      border-bottom: 1px solid #ccc; }
    .lower__eventtitle {
      position: relative;
      font-size: 15px;
      font-weight: 500;
      letter-spacing: 0.05rem;
      color: #333;
      margin-bottom: 0.6rem; }
      .lower__eventtitle::before {
        content: "●";
        font-size: 16px;
        color: #ffb1b9;
        margin-right: 2px; }
    .lower .pagetoplink {
      text-align: right;
      font-size: 13px;
      margin-bottom: 20px; }
      .lower .pagetoplink a::before {
        content: "▲";
        color: #999;
        margin-right: 3px; }
    .lower__entrytitle {
      font-size: 15px;
      line-height: 1.6;
      font-weight: 500;
      margin-top: 20px;
      margin-bottom: 0.5rem;
      margin-left: -5px;
      padding-left: 5px;
      padding-bottom: 5px;
      border-bottom: 1px solid #ccc; }
      .lower__entrytitle.topmargin0 {
        margin-top: 0; }
      .lower__entrytitle.caution::before {
        content: "◆";
        color: #ffb1b9;
        margin-right: 3px; }
    .lower__entrysubtitle {
      font-size: 14px;
      font-weight: 500;
      margin-top: 15px;
      margin-bottom: 0.5rem;
      margin-left: -5px;
      padding-left: 5px; }
    .lower__link {
      padding: 10px 0 15px; }
      .lower__link a {
        display: inline-block;
        border: 1px solid #aaaaaa;
        height: 35px;
        border-radius: 14px;
        font-size: 15px;
        font-weight: 500;
        letter-spacing: 0.3rem;
        line-height: 32px;
        color: white !important;
        padding: 0 20px;
        background: linear-gradient(90deg, #ec6d81, #f6b8c2);
        margin-right: 6px; }
        .lower__link a::after {
          position: relative;
          top: -1px;
          font-size: 12px;
          line-height: 1;
          content: "▶";
          margin-left: 7px; }
    .lower__link2 {
      margin-bottom: 30px; }
      .lower__link2 a {
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #aaaaaa;
        border-radius: 14px;
        color: #ffffff;
        padding: 8px 20px;
        text-align: center;
        background: linear-gradient(90deg, #ec6d81, #f6b8c2);
        box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1); }
        .lower__link2 a span {
          display: inline-block;
          position: relative;
          font-size: 17px;
          font-weight: 500;
          letter-spacing: 0.2rem;
          line-height: 1.2;
          padding-left: 1.5rem; }
          .lower__link2 a span::after {
            position: relative;
            top: -1px;
            font-size: 12px;
            line-height: 1;
            content: "▶";
            margin-left: 7px; }
    .lower__arrow {
      width: 40px;
      height: calc(40px / 2);
      text-indent: -9999px;
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      background: #e0f1ff;
      margin: 0 auto 5px; }
    .lower__box {
      text-align: center;
      margin-bottom: 12px; }
      .lower__box span {
        display: inline-block;
        font-size: 15px;
        padding: 5px 12px;
        background: #e0f1ff;
        line-height: 1.5; }
      .lower__box-wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 20px; }
      .lower__box-set {
        width: 47%; }
    .lower__table__jnjsg22 table {
      width: 100%;
      font-size: 12px;
      margin: 0 0 5px !important;
      padding: 0 !important;
      border: 1px solid #999; }
      .lower__table__jnjsg22 table th {
        vertical-align: middle;
        width: 110px !important;
        margin: 0;
        padding: 5px 10px !important;
        border-right: 1px solid #999;
        border-bottom: 1px solid #999 !important; }
      .lower__table__jnjsg22 table td {
        text-align: left !important;
        margin: 0;
        padding: 5px 10px !important;
        border-bottom: 1px solid #999 !important; }
    .lower__table__jnjsg23 {
      margin-bottom: 2rem; }
      .lower__table__jnjsg23 table {
        width: 100%;
        font-size: 12px;
        margin: 0 0 5px !important;
        padding: 0 !important;
        border: 1px solid #999; }
        .lower__table__jnjsg23 table th {
          vertical-align: middle;
          width: 110px !important;
          margin: 0;
          padding: 5px 10px !important;
          border-right: 1px solid #999;
          border-bottom: 1px solid #999 !important; }
        .lower__table__jnjsg23 table td {
          text-align: left !important;
          margin: 0;
          padding: 5px 10px !important;
          border-bottom: 1px solid #999 !important; }
    .lower .content p {
      white-space: wrap;
      word-wrap: break-word;
      overflow-wrap: break-word;
      font-size: 13px;
      line-height: 1.7;
      color: #2d2d2d;
      margin-bottom: 2rem; }
      .lower .content p a {
        color: #ff6b7a; }
        .lower .content p a.icon {
          display: inline-block;
          padding-left: 18px;
          background: url(../images/index/ico-more.png) left center no-repeat;
          background-size: 14px 14px; }
      .lower .content p small {
        font-size: 11px; }
      .lower .content p + .lower__eventtitle {
        padding-top: 1rem; }
      .lower .content p.nomargin {
        margin-bottom: 0.5rem; }
      .lower .content p .textindent1 {
        display: inline-block;
        padding-left: 4rem; }
    .lower .content ul {
      margin-bottom: 1.5rem; }
      .lower .content ul li {
        font-size: 13px;
        line-height: 1.7;
        color: #2d2d2d; }
        .lower .content ul li::before {
          content: "・"; }
    .lower .content dl {
      font-size: 13px;
      line-height: 1.7;
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 0.5rem; }
      .lower .content dl dt {
        width: 70px; }
      .lower .content dl dd {
        width: calc(100% - 70px); }
    .lower .content .sub {
      padding-left: 10px;
      margin-bottom: 20px;
      width: 100%; }
    .lower .content table {
      margin-left: 15px;
      margin-bottom: 20px;
      border-spacing: 0; }
      .lower .content table th {
        width: 60px;
        border-bottom: solid 1px #003366;
        padding: 5px 0; }
      .lower .content table td {
        border-bottom: solid 1px #ddd;
        text-align: center;
        padding: 5px 0; }
    .lower .content .scroll {
      width: 100%;
      max-height: 200px;
      overflow-y: scroll;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 20px;
      padding: 10px;
      background-color: white; }
    .lower .content .scroll p {
      padding-left: 5px;
      margin-bottom: 10px; }
      .lower .content .scroll p:last-child {
        margin-bottom: 0; }
    .lower .thanks {
      background-color: white;
      border: 4px double #ffb1b9;
      padding: 12px 10px 1px;
      margin-bottom: 25px; }
      .lower .thanks strong {
        display: block;
        text-align: center;
        font-size: 15px;
        line-height: 1.7;
        margin-bottom: 10px; }
      .lower .thanks p {
        font-size: 13px;
        line-height: 1.7; }
    .lower .side {
      padding: 10px;
      width: 100%; }
      .lower .side__menu {
        display: none;
        border-top: solid 1px #cbcbcb;
        margin-bottom: 25px; }
        .lower .side__menu__btn {
          position: relative;
          display: block;
          font-size: 15px;
          font-weight: 600;
          width: 100%;
          padding: 1rem 0.5rem 1rem 19px;
          border-bottom: solid 1px #cbcbcb;
          color: #ff6b7a; }
          .lower .side__menu__btn::before {
            content: "▶";
            font-size: 10px;
            line-height: 1;
            color: #999;
            position: absolute;
            left: 0px;
            top: calc(50% - 5px); }
      .lower .side__info dl {
        line-height: 1.7; }
        .lower .side__info dl dt {
          font-size: 15px;
          font-weight: bold;
          margin-top: 10px;
          margin-bottom: 8px;
          padding-left: 5px;
          color: #434343;
          background-color: #ffcad0; }
        .lower .side__info dl dd p {
          font-size: 12px;
          padding-left: 5px; }
          .lower .side__info dl dd p small {
            display: block;
            font-size: 10px;
            line-height: 1.5;
            padding-top: 3px; } }
