@charset "UTF-8";
/* *****************************
 *
 * Import file to Scss or Sass.
 *
 **************************** */
/* ----------------------------------------------------------------
* reset *
----------------------------------------------------------------- */
hrml, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal; }

ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

q:before, q:after {
  content: ''; }

object, embed {
  vertical-align: top; }

legend {
  display: none; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%; }

img, abbr, acronym, fieldset {
  border: 0; }

body {
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, Arial, sans-serif; }

a {
  text-decoration: none; }

a:active, a:focus, input:active, input:focus {
  outline: 0; }

section {
  width: 100%; }

.wrap {
  overflow: hidden;
  position: relative; }

/* リセット */
/* Scss Document */
/* ----------------------------------------------------------------
ブレークポイント設定
----------------------------------------------------------------- */
/* mixin */
/* Scss Document */
/* ----------------------------------------------------------------
共通パーツ
----------------------------------------------------------------- */
html {
  font-size: 62.5%; }

img {
  display: block;
  width: 100%;
  height: auto; }

.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 0.5s; }

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.pcClass {
  display: block; }
  @media (max-width: 1280px) {
    .pcClass {
      /*  1280px  */
      /*  1280px  */
      display: block; } }
  @media (max-width: 1024px) {
    .pcClass {
      /*  1024px  */
      /*  1024px  */
      display: none; } }
  @media (max-width: 768px) {
    .pcClass {
      /*  768px  */
      /*  768px  */
      display: none; } }
  @media (max-width: 480px) {
    .pcClass {
      /*  480px  */
      /*  480px  */
      display: none; } }
  @media (max-width: 320px) {
    .pcClass {
      /*  320px  */
      /*  320px  */
      display: none; } }

.spClass {
  display: none; }
  @media (max-width: 1280px) {
    .spClass {
      /*  1280px  */
      /*  1280px  */
      display: none; } }
  @media (max-width: 1024px) {
    .spClass {
      /*  1024px  */
      /*  1024px  */
      display: block; } }
  @media (max-width: 768px) {
    .spClass {
      /*  768px  */
      /*  768px  */
      display: block; } }
  @media (max-width: 480px) {
    .spClass {
      /*  480px  */
      /*  480px  */
      display: block; } }
  @media (max-width: 320px) {
    .spClass {
      /*  320px  */
      /*  320px  */
      display: block; } }

h2 {
  font-size: 40px; }

h3 {
  font-size: 32px; }

h4 {
  font-size: 24px; }

p {
  font-size: 14px;
  line-height: 2; }

a {
  color: #545454; }

::selection {
  background: #a4c120;
  color: #ffffff; }

/* for Firefox */
::-moz-selection {
  background: #a4c120;
  color: #ffffff; }

.click-btn {
  font-size: 16px;
  max-width: 232px;
  width: 100%;
  line-height: 48px;
  text-align: center;
  display: inline-block;
  transition: all 0.3s;
  font-family: "Bebas Neue";
  font-weight: bold; }

.t-center {
  text-align: center; }

.t-left {
  text-align: left; }

.t-right {
  text-align: right; }

/* 共通パーツCSS */
/* ----------------------------------------------------------------
header
----------------------------------------------------------------- */
/*ハンバーガーメニュー CSS ここから
------------------------*/
.header-gn {
  width: 100%;
  background-color: #FFFFFF;
  z-index: 10000;
  /*position: relative;
  padding: 15px 0 15px 0;*/
  position: fixed;
  /*height: 90px;*/
  box-sizing: border-box; }
  @media (max-width: 480px) {
    .header-gn {
      /*  480px  */
      /*  480px  */
      /*height: 70px;*/ } }
  .header-gn__inner {
    z-index: 10;
    margin: 0 auto;
    width: 95%;
    align-items: center;
    transition: all 0.3s;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0 15px 0;
    height: 60px; }
    @media (max-width: 480px) {
      .header-gn__inner {
        /*  480px  */
        /*  480px  */
        height: 50px;
        padding: 10px 0 10px 0; } }
    .header-gn__inner__logo {
      width: 203px;
      /*height: 30px;*/
      transition: all 0.3s; }
      @media (max-width: 480px) {
        .header-gn__inner__logo {
          /*  480px  */
          /*  480px  */
          width: 140px; } }

.slide_btn {
  position: absolute;
  z-index: 101;
  right: 40px;
  top: 25px; }
  @media (max-width: 480px) {
    .slide_btn {
      /*  480px  */
      /*  480px  */
      right: 10px;
      top: 10px; } }
  .slide_btn__wrap {
    background-color: #f4d623;
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 50%; }

.topBar {
  background: #FFFFFF;
  height: 2px;
  width: 50%;
  position: absolute;
  top: 30%;
  left: 25%; }

.middleBar {
  background: #FFFFFF;
  height: 2px;
  width: 50%;
  position: absolute;
  top: 47%;
  left: 25%; }

.bottomBar {
  background: #FFFFFF;
  height: 2px;
  width: 50%;
  position: absolute;
  top: 64%;
  left: 25%; }

/*.text{
	position: absolute;
	top: 35px;
	left: 20%;
    &::before{
    content: 'Menu';
    color:$base-wite;
    font-size:10px;
    font-weight: bold;
    }
}*/
.open {
  background-color: #FFFFFF; }
  .open .topBar {
    background: #545454; }
  .open .middleBar {
    background: #545454; }
  .open .bottomBar {
    background: #545454; }

span.menu {
  bottom: 20px;
  font-size: 10px; }

.menu-list {
  display: none;
  position: absolute;
  z-index: 100;
  top: 0px;
  left: 0px;
  width: 100%; }
  .menu-list__item {
    padding: 10px 0 0 0;
    text-align: center; }
    .menu-list__item__link {
      font-size: 4.0rem;
      margin: 0 0 20px 0;
      transition: all 0.3s; }
      @media (max-width: 480px) {
        .menu-list__item__link {
          /*  480px  */
          /*  480px  */
          font-size: 2.0rem; } }
      .menu-list__item__link a {
        padding: 0px 25px;
        transition: all 0.3s;
        display: block; }
        .menu-list__item__link a:hover {
          transform: scale(1.1); }
        @media (max-width: 480px) {
          .menu-list__item__link a {
            /*  480px  */
            /*  480px  */
            padding: 0px 60px; } }
      .menu-list__item__link::after {
        content: '';
        display: block;
        margin-top: 10px;
        border-bottom: solid 3px #479a1b;
        bottom: 0px;
        width: 100%;
        /*margin: 0 auto;*/
        margin-left: auto;
        margin-right: auto;
        z-index: 1; }
      .menu-list__item__link:last-child {
        margin: 0 0 0 0; }
        .menu-list__item__link:last-child::after {
          border: none; }

.menu-list-warp {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f4d623;
  height: 100vh;
  opacity: 1; }

/*ハンバーガーメニュー CSS ここまで
------------------------*/
/* ヘッダーCSS */
/* ----------------------------------------------------------------
下層ページ CSS
----------------------------------------------------------------- */
.lead-title {
  font-size: 2.5rem;
  color: #545454;
  margin: 0 0 20px 0;
  font-weight: normal; }
  @media (max-width: 480px) {
    .lead-title {
      /*  480px  */
      /*  480px  */
      font-size: 2.0rem; } }

/* ----------------------------------------------------------------
メインビジュアル
----------------------------------------------------------------- */
.main {
  background-image: url(../img/main-bg.png);
  background-color: #f6f6ef;
  padding: 90px 0 255px 0; }
  @media (max-width: 480px) {
    .main {
      /*  480px  */
      /*  480px  */
      padding: 70px 0 110px 0; } }
  .main__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto; }
    @media (max-width: 480px) {
      .main__inner {
        /*  480px  */
        /*  480px  */ } }
    .main__inner .h2-img {
      max-width: 500px;
      width: 80%;
      padding: 25px 25px 0 25px;
      position: relative;
      overflow: hidden; }
      .main__inner .h2-img .puyopuyo {
        animation: puyopuyo 10s ease-in-out 1s infinite;
        animation-duration: 5s; }
@keyframes puyopuyo {
  0%, 45%, 65%, 85% {
    transform: scale(1); }
  55%, 75% {
    transform: scale(0.95); } }
/* ----------------------------------------------------------------
コンテンツ
----------------------------------------------------------------- */
#container {
  position: relative; }

.scrollgress {
  z-index: 10001;
  top: 0px !important; }

.greeting {
  padding: 280px 0 0 0;
  text-align: center;
  background-image: url(../img/greeting-bg.png);
  background-position: center top;
  background-repeat: no-repeat;
  margin-top: -280px; }
  @media (max-width: 480px) {
    .greeting {
      /*  480px  */
      /*  480px  */
      background-image: url(../img/greeting-bg_sp.png);
      padding: 160px 0 0 0;
      margin-top: -110px; } }
  .greeting__inner {
    background-color: #f4d623;
    padding: 0 0 100px 0; }
    .greeting__inner__text-area {
      max-width: 915px;
      width: 90%;
      margin: 0 auto;
      position: relative;
      text-align: center; }
      .greeting__inner__text-area .greeting-title {
        font-size: 2.5rem;
        color: #479a1b;
        margin: -30px 0 40px 0; }
        .greeting__inner__text-area .greeting-title .br-sp {
          display: none; }
          @media (max-width: 480px) {
            .greeting__inner__text-area .greeting-title .br-sp {
              /*  480px  */
              /*  480px  */
              display: block; } }
        @media (max-width: 480px) {
          .greeting__inner__text-area .greeting-title {
            /*  480px  */
            /*  480px  */
            font-size: 2.0rem; } }

.overview {
  padding: 60px 0 120px 0; }
  @media (max-width: 480px) {
    .overview {
      /*  480px  */
      /*  480px  */
      padding: 60px 0 60px 0; } }
  .overview__inner {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto; }
    .overview__inner__box {
      border: solid 1px #545454;
      padding: 10px 10px 10px 10px;
      border-radius: 5px;
      padding: 50px 10px 50px 10px;
      text-align: center;
      background-color: #FFFFFF;
      position: relative;
      margin: 0 0 0 20px; }
      .overview__inner__box::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 20px;
        right: 20px;
        border-radius: 8px;
        z-index: -1;
        -webkit-background-size: 6px 6px;
        -moz-background-size: 6px 6px;
        background-size: 10px 10px;
        background-image: -webkit-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: -moz-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: -ms-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: -o-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent); }
      .overview__inner__box .overview-title {
        font-size: 2.5rem;
        color: #545454;
        margin: 0 0 40px 0;
        position: relative;
        font-weight: normal; }
        @media (max-width: 480px) {
          .overview__inner__box .overview-title {
            /*  480px  */
            /*  480px  */
            font-size: 2.0rem; } }
        .overview__inner__box .overview-title--green {
          color: #479a1b; }
        .overview__inner__box .overview-title::after {
          content: '';
          display: block;
          border: solid 1px #479a1b;
          bottom: 0px;
          width: 50px;
          margin: 0 auto;
          z-index: 1; }
      .overview__inner__box .overview-wrap {
        max-width: 740px;
        width: 90%;
        display: inline-block; }
        .overview__inner__box .overview-wrap__list {
          font-size: 1.6rem;
          margin: 0 0 20px 0;
          padding: 0 0 20px 0;
          box-sizing: border-box;
          text-align: left;
          display: flex;
          align-items: center;
          color: #545454;
          border-bottom: dashed 2px #479a1b; }
          @media (max-width: 480px) {
            .overview__inner__box .overview-wrap__list {
              /*  480px  */
              /*  480px  */
              flex-direction: column;
              padding: 0 0 35px 0;
              text-align: center;
              font-size: 1.4rem; } }
          .overview__inner__box .overview-wrap__list:last-child {
            border-bottom: none; }
          .overview__inner__box .overview-wrap__list__icon {
            width: 156px;
            background-color: #FFFFFF;
            font-weight: bold;
            height: 30px;
            line-height: 30px;
            text-align: center;
            display: inline-block;
            color: #6eae54;
            border: solid 1px #479a1b;
            padding: 3px 0;
            border-radius: 5px;
            margin: 0 30px 0 0; }
            @media (max-width: 480px) {
              .overview__inner__box .overview-wrap__list__icon {
                /*  480px  */
                /*  480px  */
                margin: 0 0 30px 0; } }
          .overview__inner__box .overview-wrap__list__text a:hover {
            border-bottom: dotted 1px #545454; }
          .overview__inner__box .overview-wrap__list__text .tel-link::after {
            content: ' / '; }
            @media (max-width: 480px) {
              .overview__inner__box .overview-wrap__list__text .tel-link::after {
                /*  480px  */
                /*  480px  */
                content: none; } }
          .overview__inner__box .overview-wrap__list__text .br-sp {
            display: none; }
            @media (max-width: 480px) {
              .overview__inner__box .overview-wrap__list__text .br-sp {
                /*  480px  */
                /*  480px  */
                display: block; } }

.timetable {
  padding: 60px 0 100px 0;
  background-color: #f6f6ef;
  position: relative;
  z-index: 0; }
  .timetable__inner {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    text-align: center; }
    .timetable__inner .timetable-title {
      font-size: 2.5rem;
      color: #545454;
      margin: 0 0 10px 0;
      position: relative;
      font-weight: normal; }
      @media (max-width: 480px) {
        .timetable__inner .timetable-title {
          /*  480px  */
          /*  480px  */
          font-size: 2.0rem; } }
      .timetable__inner .timetable-title--yellow {
        color: #f4d623; }
      .timetable__inner .timetable-title::after {
        content: '';
        display: block;
        border: solid 1px #f4d623;
        bottom: 0px;
        width: 50px;
        margin: 0 auto;
        z-index: 1; }
    .timetable__inner__box {
      border: solid 1px #545454;
      border-radius: 5px;
      padding: 50px 10px 50px 10px;
      text-align: center;
      background-color: #FFFFFF;
      position: relative;
      margin: 0 0 0 20px; }
      .timetable__inner__box::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 20px;
        right: 20px;
        border-radius: 8px;
        z-index: -1;
        -webkit-background-size: 6px 6px;
        -moz-background-size: 6px 6px;
        background-size: 10px 10px;
        background-image: -webkit-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: -moz-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: -ms-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: -o-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent); }
      .timetable__inner__box .timetable-wrap {
        max-width: 1000px;
        width: 90%;
        margin: 0 auto; }
        .timetable__inner__box .timetable-wrap__list {
          font-size: 1.6rem;
          margin: 0 0 30px 0;
          padding: 0 0 30px 0;
          box-sizing: border-box;
          text-align: left;
          align-items: flex-start;
          color: #545454;
          border-bottom: dashed 2px #f4d623;
          min-height: 0%; }
          @media (max-width: 768px) {
            .timetable__inner__box .timetable-wrap__list {
              /*  768px  */
              /*  768px  */
              align-items: center; } }
          .timetable__inner__box .timetable-wrap__list:last-child {
            border-bottom: none; }
          .timetable__inner__box .timetable-wrap__list__title {
            display: flex;
            align-items: center;
            margin: 0 0 15px 0; }
            @media (max-width: 768px) {
              .timetable__inner__box .timetable-wrap__list__title {
                /*  768px  */
                /*  768px  */
                flex-direction: column; } }
            .timetable__inner__box .timetable-wrap__list__title--icon {
              width: 60px;
              height: 60px;
              background-color: #f4d623;
              border-radius: 50%;
              display: flex;
              color: #545454;
              flex-direction: column;
              align-items: center;
              justify-content: center;
              margin: 0 20px 0 0; }
              @media (max-width: 768px) {
                .timetable__inner__box .timetable-wrap__list__title--icon {
                  /*  768px  */
                  /*  768px  */
                  width: 110px;
                  height: 30px;
                  margin: 0 0 25px 0;
                  border-radius: 6px 6px 6px 6px;
                  flex-direction: row; } }
              .timetable__inner__box .timetable-wrap__list__title--icon span {
                font-size: 1.4rem;
                line-height: 1; }
              .timetable__inner__box .timetable-wrap__list__title--icon .middle::before {
                content: '|';
                color: #545454;
                font-size: 1.0rem;
                font-weight: bold; }
                @media (max-width: 768px) {
                  .timetable__inner__box .timetable-wrap__list__title--icon .middle::before {
                    /*  768px  */
                    /*  768px  */
                    content: '-';
                    font-size: 1.4rem; } }
            .timetable__inner__box .timetable-wrap__list__title--text {
              font-size: 2.2rem;
              width: 85%; }
              @media (max-width: 768px) {
                .timetable__inner__box .timetable-wrap__list__title--text {
                  /*  768px  */
                  /*  768px  */
                  width: 100%; } }
              @media (max-width: 480px) {
                .timetable__inner__box .timetable-wrap__list__title--text {
                  /*  480px  */
                  /*  480px  */
                  font-size: 1.6rem; } }
              .timetable__inner__box .timetable-wrap__list__title--text--keynote {
                border-radius: 50px;
                margin: 0 10px 0 0;
                background: #ffd892;
                padding: 2px 15px;
                font-size: 1.8rem;
                text-align: center; }
                @media (max-width: 768px) {
                  .timetable__inner__box .timetable-wrap__list__title--text--keynote {
                    /*  768px  */
                    /*  768px  */
                    display: block; } }
          .timetable__inner__box .timetable-wrap__list__stage-info {
            margin: 35px 0 30px 0;
            display: flex;
            justify-content: space-between;
            width: 100%; }
            @media (max-width: 768px) {
              .timetable__inner__box .timetable-wrap__list__stage-info {
                /*  768px  */
                /*  768px  */
                flex-direction: column;
                align-items: center; } }
            .timetable__inner__box .timetable-wrap__list__stage-info__img {
              max-width: 200px;
              width: 30%;
              min-height: 0%; }
              @media (max-width: 768px) {
                .timetable__inner__box .timetable-wrap__list__stage-info__img {
                  /*  768px  */
                  /*  768px  */
                  max-width: 250px;
                  width: 85%; } }
            .timetable__inner__box .timetable-wrap__list__stage-info__text {
              margin: 0 0 0 40px;
              width: 70%; }
              @media (max-width: 768px) {
                .timetable__inner__box .timetable-wrap__list__stage-info__text {
                  /*  768px  */
                  /*  768px  */
                  margin: 30px 0 0 0;
                  width: 100%;
                  text-align: center; } }
              .timetable__inner__box .timetable-wrap__list__stage-info__text__wrap {
                font-size: 1.4rem; }
                .timetable__inner__box .timetable-wrap__list__stage-info__text__wrap--name {
                  margin: 0 0 25px 0; }
                  .timetable__inner__box .timetable-wrap__list__stage-info__text__wrap--name span {
                    font-size: 2.0rem; }
                .timetable__inner__box .timetable-wrap__list__stage-info__text__wrap--article {
                  line-height: 1.8; }
                  @media (max-width: 768px) {
                    .timetable__inner__box .timetable-wrap__list__stage-info__text__wrap--article {
                      /*  768px  */
                      /*  768px  */
                      text-align: left; } }

.sponsor {
  padding: 60px 0 100px 0; }
  .sponsor__inner {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    text-align: center; }
    .sponsor__inner .sponsor-title {
      font-size: 2.5rem;
      color: #545454;
      margin: 0 0 30px 0;
      position: relative;
      font-weight: normal; }
      @media (max-width: 480px) {
        .sponsor__inner .sponsor-title {
          /*  480px  */
          /*  480px  */
          font-size: 2.0rem; } }
      .sponsor__inner .sponsor-title--green {
        color: #479a1b; }
      .sponsor__inner .sponsor-title::after {
        content: '';
        display: block;
        border: solid 1px #479a1b;
        bottom: 0px;
        width: 50px;
        margin: 0 auto;
        z-index: 1; }
    .sponsor__inner__box {
      border: solid 1px #545454;
      border-radius: 5px;
      padding: 50px 10px 50px 10px;
      background-color: #FFFFFF;
      position: relative;
      margin: 0 0 0 20px; }
      .sponsor__inner__box::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 20px;
        right: 20px;
        border-radius: 8px;
        z-index: -1;
        -webkit-background-size: 6px 6px;
        -moz-background-size: 6px 6px;
        background-size: 10px 10px;
        background-image: -webkit-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: -moz-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: -ms-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: -o-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent); }
      .sponsor__inner__box__list {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center; }
        .sponsor__inner__box__list__logo {
          width: calc(100% / 4);
          box-sizing: border-box;
          text-align: center;
          padding: 15px; }
          @media (max-width: 768px) {
            .sponsor__inner__box__list__logo {
              /*  768px  */
              /*  768px  */
              width: calc(100% / 3); } }
          @media (max-width: 480px) {
            .sponsor__inner__box__list__logo {
              /*  480px  */
              /*  480px  */
              width: calc(100% / 2); } }
          @media (max-width: 320px) {
            .sponsor__inner__box__list__logo {
              /*  320px  */
              /*  320px  */
              width: 100%; } }
          .sponsor__inner__box__list__logo__img {
            transition-duration: 0.5s; }
            .sponsor__inner__box__list__logo__img:hover {
              transform: scale(1.1);
              transition-duration: 0.51s; }

.solution {
  padding: 60px 0 100px 0;
  background-color: #f6f6ef;
  position: relative;
  z-index: 0; }
  .solution__inner {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    text-align: center; }
    .solution__inner .solution-title {
      font-size: 2.5rem;
      color: #545454;
      margin: 0 0 10px 0;
      position: relative;
      font-weight: normal; }
      @media (max-width: 480px) {
        .solution__inner .solution-title {
          /*  480px  */
          /*  480px  */
          font-size: 2.0rem; } }
      .solution__inner .solution-title--yellow {
        color: #f4d623; }
      .solution__inner .solution-title::after {
        content: '';
        display: block;
        border: solid 1px #f4d623;
        bottom: 0px;
        width: 50px;
        margin: 0 auto;
        z-index: 1; }
    .solution__inner__box {
      border: solid 1px #545454;
      border-radius: 5px;
      padding: 50px 10px 50px 10px;
      background-color: #FFFFFF;
      position: relative;
      margin: 0 0 0 20px; }
      .solution__inner__box::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 20px;
        right: 20px;
        border-radius: 8px;
        z-index: -1;
        -webkit-background-size: 6px 6px;
        -moz-background-size: 6px 6px;
        background-size: 10px 10px;
        background-image: -webkit-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: -moz-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: -ms-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: -o-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent); }
      .solution__inner__box__list {
        display: flex;
        flex-wrap: wrap; }
        .solution__inner__box__list__logo {
          width: calc(100% / 4);
          box-sizing: border-box;
          text-align: center;
          padding: 10px; }
          @media (max-width: 768px) {
            .solution__inner__box__list__logo {
              /*  768px  */
              /*  768px  */
              width: calc(100% / 3); } }
          @media (max-width: 480px) {
            .solution__inner__box__list__logo {
              /*  480px  */
              /*  480px  */
              width: calc(100% / 2); } }
          .solution__inner__box__list__logo__img {
            background: #464f56;
            height: 100px; }

.access {
  padding: 60px 0 100px 0;
  z-index: 0; }
  .access__inner {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    position: relative;
    text-align: center; }
    .access__inner .access-title {
      font-size: 2.5rem;
      color: #545454;
      margin: 0 0 30px 0;
      position: relative;
      font-weight: normal; }
      @media (max-width: 480px) {
        .access__inner .access-title {
          /*  480px  */
          /*  480px  */
          font-size: 2.0rem; } }
      .access__inner .access-title--green {
        color: #479a1b; }
      .access__inner .access-title::after {
        content: '';
        display: block;
        border: solid 1px #479a1b;
        bottom: 0px;
        width: 50px;
        margin: 0 auto;
        z-index: 1; }
    .access__inner__box {
      border: solid 1px #545454;
      border-radius: 5px;
      padding: 0 10px 30px 10px;
      text-align: center;
      background-color: #FFFFFF;
      position: relative;
      margin: 0 0 0 20px; }
      .access__inner__box::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 20px;
        right: 20px;
        border-radius: 8px;
        z-index: -1;
        -webkit-background-size: 6px 6px;
        -moz-background-size: 6px 6px;
        background-size: 10px 10px;
        background-image: -webkit-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: -moz-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: -ms-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: -o-linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent);
        background-image: linear-gradient(-45deg, #479a1b 25%, transparent 25%, transparent 50%, #479a1b 50%, #479a1b 75%, transparent 75%, transparent); }
      .access__inner__box__img {
        max-width: 650px;
        width: 100%;
        display: inline-block; }
      .access__inner__box__form {
        max-width: 900px;
        width: 95%;
        display: inline-block; }
        .access__inner__box__form__class {
          height: 1100px; }
          @media (max-width: 768px) {
            .access__inner__box__form__class {
              /*  768px  */
              /*  768px  */
              height: 1300px; } }
@-moz-document url-prefix() {
  .access__inner__box__form {
    /* ここに書く */ }
    .access__inner__box__form__class {
      height: 1150px; }
      @media (max-width: 768px) {
        .access__inner__box__form__class {
          /*  768px  */
          /*  768px  */
          height: 1400px; } } }
.contact {
  padding: 60px 0 120px 0;
  background-color: #f6f6ef;
  position: relative;
  z-index: 0; }
  @media (max-width: 480px) {
    .contact {
      /*  480px  */
      /*  480px  */
      padding: 60px 0 60px 0; } }
  .contact__inner {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto; }
    .contact__inner__box {
      border: solid 1px #545454;
      padding: 10px 10px 10px 10px;
      border-radius: 5px;
      padding: 50px 10px 50px 10px;
      text-align: center;
      background-color: #FFFFFF;
      position: relative;
      margin: 0 0 0 20px; }
      .contact__inner__box::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 20px;
        right: 20px;
        border-radius: 8px;
        z-index: -1;
        -webkit-background-size: 6px 6px;
        -moz-background-size: 6px 6px;
        background-size: 10px 10px;
        background-image: -webkit-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: -moz-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: -ms-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: -o-linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent);
        background-image: linear-gradient(-45deg, #f4d623 25%, transparent 25%, transparent 50%, #f4d623 50%, #f4d623 75%, transparent 75%, transparent); }
      .contact__inner__box .contact-title {
        font-size: 2.5rem;
        color: #545454;
        margin: 0 0 40px 0;
        position: relative;
        font-weight: normal; }
        @media (max-width: 480px) {
          .contact__inner__box .contact-title {
            /*  480px  */
            /*  480px  */
            font-size: 2.0rem; } }
        .contact__inner__box .contact-title--green {
          color: #f4d623; }
        .contact__inner__box .contact-title::after {
          content: '';
          display: block;
          border: solid 1px #f4d623;
          bottom: 0px;
          width: 50px;
          margin: 0 auto;
          z-index: 1; }
      .contact__inner__box .contact-wrap {
        max-width: 740px;
        width: 90%;
        display: inline-block; }
        .contact__inner__box .contact-wrap__list {
          font-size: 1.6rem;
          margin: 0 0 20px 0;
          padding: 0 0 20px 0;
          box-sizing: border-box;
          text-align: left;
          display: flex;
          align-items: center;
          color: #545454;
          border-bottom: dashed 2px #f4d623; }
          @media (max-width: 480px) {
            .contact__inner__box .contact-wrap__list {
              /*  480px  */
              /*  480px  */
              flex-direction: column;
              padding: 0 0 35px 0;
              text-align: center;
              font-size: 1.4rem; } }
          .contact__inner__box .contact-wrap__list:last-child {
            border-bottom: none; }
          .contact__inner__box .contact-wrap__list__icon {
            width: 156px;
            background-color: #FFFFFF;
            font-weight: bold;
            height: 30px;
            line-height: 30px;
            text-align: center;
            display: inline-block;
            color: #f4d623;
            border: solid 1px #f4d623;
            padding: 3px 0;
            border-radius: 5px;
            margin: 0 30px 0 0; }
            @media (max-width: 480px) {
              .contact__inner__box .contact-wrap__list__icon {
                /*  480px  */
                /*  480px  */
                margin: 0 0 30px 0; } }
          .contact__inner__box .contact-wrap__list__text a:hover {
            border-bottom: dotted 1px #545454; }
          .contact__inner__box .contact-wrap__list__text .tel-link::after {
            content: ' / '; }
            @media (max-width: 480px) {
              .contact__inner__box .contact-wrap__list__text .tel-link::after {
                /*  480px  */
                /*  480px  */
                content: none; } }
          .contact__inner__box .contact-wrap__list__text .br-sp {
            display: none; }
            @media (max-width: 480px) {
              .contact__inner__box .contact-wrap__list__text .br-sp {
                /*  480px  */
                /*  480px  */
                display: block; } }

/* ----------------------------------------------------------------
コンテンツ
----------------------------------------------------------------- */
.bgextend {
  animation-name: bgextendAnimeBase;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
  opacity: 0;
  padding: 0 0 5px 0; }

@keyframes bgextendAnimeBase {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
/*中の要素*/
.bgappear {
  animation-name: bgextendAnimeSecond;
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*左から右*/
.bgLRextend-y::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #f4d623;
  /*伸びる背景色の設定*/ }

.bgLRextend-g::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #479a1b;
  /*伸びる背景色の設定*/ }

@keyframes bgLRextendAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0); }
  50% {
    transform-origin: left;
    transform: scaleX(1); }
  50.001% {
    transform-origin: right; }
  100% {
    transform-origin: right;
    transform: scaleX(0); } }
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgLRextendTrigger {
  opacity: 0; }

/* 下層ページCSS */
/* ----------------------------------------------------------------
footer
----------------------------------------------------------------- */
footer {
  width: 100%;
  text-align: center;
  color: #FFFFFF;
  padding: 126px 0 0 0;
  background-color: #f4d623;
  background: url(../img/footer-bg.png) repeat-x;
  background-position: 0 0;
  -webkit-animation: cityscape 80s linear infinite;
  animation: cityscape 80s linear infinite;
  /*-size: 100% 126px;*/ }
@-webkit-keyframes cityscape {
  from {
    background-position: 0 0; }
  to {
    background-position: -1920px 0; } }
@keyframes cityscape {
  from {
    background-position: 0 0; }
  to {
    background-position: -1920px 0; } }
  @media (max-width: 480px) {
    footer {
      /*  480px  */
      /*  480px  */
      background-image: url(../img/footer-bg_sp.png);
      padding: 50px 0 0 0; } }
  footer #pageTop {
    width: 70px;
    height: 70px;
    position: fixed;
    right: 60px;
    bottom: 150px;
    background: #479a1b;
    border-radius: 50%;
    z-index: 11; }
    @media (max-width: 768px) {
      footer #pageTop {
        /*  768px  */
        /*  768px  */
        width: 50px;
        height: 50px;
        bottom: 160px; } }
    @media (max-width: 480px) {
      footer #pageTop {
        /*  480px  */
        /*  480px  */
        right: 20px;
        bottom: 100px; } }
    footer #pageTop a {
      position: relative;
      display: block;
      width: 70px;
      height: 70px;
      text-decoration: none;
      transition: all 0.5s; }
      @media (max-width: 768px) {
        footer #pageTop a {
          /*  768px  */
          /*  768px  */
          width: 50px;
          height: 50px; } }
      footer #pageTop a:hover {
        opacity: 0.4; }
      footer #pageTop a::before {
        content: "";
        display: block;
        position: absolute;
        top: 30px;
        right: 19px;
        width: 12px;
        height: 12px;
        border-top: 3px solid #FFFFFF;
        border-right: 3px solid #FFFFFF;
        transform: translateX(-50%) rotate(-45deg); }
        @media (max-width: 768px) {
          footer #pageTop a::before {
            /*  768px  */
            /*  768px  */
            top: 21px;
            right: 9px; } }
  footer .copy {
    color: #545454;
    background-color: #f4d623;
    font-size: 10px;
    padding: 20px 0 30px 0; }

/* フツターCSS */
