@charset "UTF-8";
/* mixin
*********************************************************************/
/* カラー */
/* media query */
/* SP縦から */
/* SP横から */
/* タブレット縦から */
/* フルワイド */
@media all and (max-width: 896px) {
  .pconly {
    display: none; } }

.sponly {
  display: none; }
  @media all and (max-width: 896px) {
    .sponly {
      display: block; } }

.portraitonly {
  display: none; }
  @media all and (max-width: 480px) {
    .portraitonly {
      display: block; } }

@media all and (max-width: 480px) {
  .portraitnone {
    display: none; } }

.tabonly {
  display: none; }
  @media all and (max-width: 1025px) {
    .tabonly {
      display: block; } }

@media all and (max-width: 1025px) {
  .tabnone {
    display: none; } }

.w-full {
  max-width: 1400px;
  width: calc(100% - 50px);
  text-align: center;
  margin: 0 auto; }
  @media all and (max-width: 896px) {
    .w-full {
      width: calc(100% - 26px); } }
  .w-full img {
    max-width: 100%; }

.mainvisual {
  width: 100%;
  margin: 0 auto;
  padding: 0; }
  .mainvisual h2 {
    margin: 0;
    padding: 0; }
    .mainvisual h2 img {
      width: 100%; }

#mainContents {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
  @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap"); }

#contents {
  font-size: 1.8rem;
  margin-bottom: 0; }
  @media all and (max-width: 896px) {
    #contents {
      font-size: 1.6rem; } }

.bg-g {
  background-color: #ECECEC; }

.area_bana {
  padding-top: 100px;
  padding-bottom: 80px; }
  @media all and (max-width: 896px) {
    .area_bana {
      padding-top: 60px;
      padding-bottom: 40px; } }
  .area_bana h2 {
    font-size: 2.2rem;
    color: #3F3939;
    margin-bottom: 40px; }
  .area_bana h3 {
    font-size: 2.2rem;
    color: #e50c37; }
  .area_bana .img {
    margin: 0 auto 30px; }

.textarea {
  padding-top: 100px;
  padding-bottom: 60px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative; }
  .textarea .w-full {
    background-image: url("../images/bg_rail.png"), url("../images/bg_rail.png");
    background-size: auto, auto;
    background-position: left, right;
    background-repeat: repeat-y, repeat-y; }
    @media all and (max-width: 896px) {
      .textarea .w-full {
        background-size: 12px, 12px; } }
  .textarea .box-txt {
    width: 80%;
    margin: 0 auto; }
    @media all and (max-width: 896px) {
      .textarea .box-txt {
        width: 84%; } }
    .textarea .box-txt.c-black {
      color: #000; }
    .textarea .box-txt.c-white {
      color: #fff; }
    .textarea .box-txt h2 {
      font-size: 3.2rem;
      margin-bottom: 80px; }
      @media all and (max-width: 896px) {
        .textarea .box-txt h2 {
          font-size: 2.6rem;
          margin-bottom: 60px; } }
      .textarea .box-txt h2 span {
        font-size: 2.4rem;
        display: block; }
        @media all and (max-width: 896px) {
          .textarea .box-txt h2 span {
            font-size: 2rem; } }
    .textarea .box-txt h3 {
      font-size: 2.2rem;
      margin-bottom: 60px; }
      @media all and (max-width: 896px) {
        .textarea .box-txt h3 {
          font-size: 1.9rem;
          margin-bottom: 40px; } }
    .textarea .box-txt .httl {
      display: flex;
      justify-content: flex-start;
      margin-bottom: 30px; }
      @media all and (max-width: 896px) {
        .textarea .box-txt .httl {
          margin-bottom: 20px; } }
    .textarea .box-txt h4 {
      font-size: 2.2rem;
      text-align: left;
      margin-left: 0;
      padding: 6px 10px;
      display: inline-block; }
      @media all and (max-width: 896px) {
        .textarea .box-txt h4 {
          font-size: 1.6rem; } }
      .textarea .box-txt h4.bk {
        background-color: #000;
        color: #fff; }
      .textarea .box-txt h4.wh {
        background-color: #fff;
        color: #000; }
  .textarea p {
    text-align: left;
    margin-bottom: 40px;
    font-size: 1.6rem;
    line-height: 2.8; }
    @media all and (max-width: 896px) {
      .textarea p {
        font-size: 1.5rem;
        line-height: 2.2; } }
    .textarea p.notice {
      text-align: right;
      margin-bottom: 30px;
      font-size: 1.2rem; }
  .textarea .img {
    margin-bottom: 20px; }
  .textarea.bg1 {
    background-image: radial-gradient(rgba(239, 237, 128, 0.8) 0%, rgba(239, 237, 128, 0.8) 100%), url("../images/bg1.jpg"); }
  .textarea.bg2 {
    background-image: radial-gradient(rgba(255, 77, 17, 0.7) 0%, rgba(255, 77, 17, 0.7) 100%), url("../images/bg3.jpg"); }
  .textarea.bg3 {
    background-image: radial-gradient(rgba(239, 237, 128, 0.8) 0%, rgba(239, 237, 128, 0.8) 100%), url("../images/bg2.jpg"); }
  .textarea.bg4 {
    background-image: radial-gradient(rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%), url("../images/bg2.jpg"); }

.ic_twitter {
  position: fixed;
  z-index: 10;
  top: 12%;
  right: 0; }
  @media all and (max-width: 1100px) {
    .ic_twitter {
      top: 18%; } }
  .ic_twitter a img:hover {
    opacity: 0.8; }

#osusume {
  padding-top: 100px;
  padding-bottom: 100px;
  text-align: center; }
  #osusume h3 {
    font-size: 2.2rem;
    margin-bottom: 20px; }
  #osusume .osusume {
    padding: 20px;
    background-color: #fff; }
    @media all and (max-width: 896px) {
      #osusume .osusume {
        padding: 10px; } }
    #osusume .osusume ul {
      display: flex;
      justify-content: center;
      flex-wrap: wrap; }
      #osusume .osusume ul::after {
        content: "";
        display: block;
        width: calc(100% / 2); }
        @media all and (max-width: 896px) {
          #osusume .osusume ul::after {
            width: calc(100% / 1); } }
      #osusume .osusume ul li {
        width: calc(100% / 2 - 30px);
        max-width: 350px;
        margin: 15px; }
        @media all and (max-width: 896px) {
          #osusume .osusume ul li {
            width: calc(100% / 1 - 20px);
            margin: 10px; } }
