@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : base.css
Description : 共通
===================================================================== */
html {
  min-height: 100vh;
  overflow-x: hidden;
  font-size: calc(10 / 750 * 100vw);
}

body {
  background-color: #eef9fa;
  color: #2c476f;
  font-family: "Noto Sans JP", "メイリオ", "ＭＳ Ｐゴシック", "小塚ゴシック Pro R", "ヒラギノ角ゴ Pro W3", "Meiryo", "MS PGothic", "KozGoPro-Regular", "Hiragino Kaku Gothic Pro", "MS UI Gothic", Osaka, sans-serif;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  line-height: 1;
  overflow-x: hidden;
}

body img {
  width: 100%;
  height: auto;
  display: block;
}

body a {
  color: #2c476f;
  display: block;
}

#wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}

@supports (aspect-ratio: 1) {
  #main {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

header,
section,
footer {
  position: relative;
}

.inner {
  position: relative;
  width: calc(650 / 750 * 100%);
  margin: 0 auto;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  html {
    font-size: calc(10 / 1600 * 100vw);
  }
  body {
    font-size: 1.6rem;
  }
  body a {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .inner {
    width: calc(1000 / 1600 * 100%);
  }
  .sp {
    display: none !important;
  }
}

/* =====================================================================
*    header
* =================================================================== */
#header .btn_menu {
  position: fixed;
  top: 2rem;
  right: 2rem;
  z-index: 9999;
  width: 10rem;
  height: 9rem;
  padding: 2.5rem 2rem;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  -webkit-box-shadow: 0 2rem 3.2rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 2rem 3.2rem 0 rgba(0, 0, 0, 0.1);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

#header .btn_menu .btn_menu_inner {
  position: relative;
  height: 100%;
}

#header .btn_menu .btn_menu_inner::before {
  content: '';
  position: absolute;
  display: block;
  bottom: -0.8rem;
  left: -0.2rem;
  width: 6.1rem;
  height: 1.3rem;
  background: url(../images/common/txt_btn_menu.png) no-repeat center/contain;
}

#header .btn_menu .btn_menu_inner span {
  display: inline-block;
  -webkit-transition: all .3s;
  transition: all .3s;
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.6rem;
  background-color: #393b4f;
}

#header .btn_menu .btn_menu_inner span:nth-of-type(1) {
  top: 0;
}

#header .btn_menu .btn_menu_inner span:nth-of-type(2) {
  top: 38%;
}

#header .btn_menu.active {
  background: #f5ff00;
}

#header .btn_menu.active .btn_menu_inner::before {
  background-image: url(../images/common/txt_btn_close.png) !important;
}

#header .btn_menu.active .btn_menu_inner span:nth-of-type(1) {
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
  -webkit-transform-origin: top left;
          transform-origin: top left;
}

#header .btn_menu.active .btn_menu_inner span:nth-of-type(2) {
  -webkit-transform: rotate(-15deg);
          transform: rotate(-15deg);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}

#header .header_open {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 5.7rem 0 16rem;
  background-color: #ffffff;
  overflow-y: scroll;
  z-index: 999;
}

#header .header_open .header_logo {
  width: 25rem;
  margin-left: 3rem;
}

#header .header_open .header_date {
  width: 16.2rem;
  margin-left: 11.4rem;
}

#header .header_open .nav {
  margin-top: 11.4rem;
}

#header .header_open .nav ul li {
  margin-bottom: 3.3rem;
}

#header .header_open .nav ul li a {
  padding: 0 6.8rem;
  font-family: "Josefin Sans", sans-serif;
  font-style: italic;
  font-size: 5rem;
  color: #393b4f;
}

#header .header_open .nav ul li a small {
  display: block;
  margin-top: 0.1em;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-style: normal;
  font-size: 1.8rem;
  color: #0aa0f0;
}

@media screen and (min-width: 768px) {
  #header .btn_menu {
    right: 3rem;
    cursor: pointer;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  #header .btn_menu:hover {
    -webkit-box-shadow: 0 2rem 3.2rem 0 rgba(0, 0, 0, 0.25);
            box-shadow: 0 2rem 3.2rem 0 rgba(0, 0, 0, 0.25);
  }
  #header .header_open {
    height: auto;
    max-height: 100vh;
    background: #ffffff url(../images/common/bg_header_nav.jpg) no-repeat center left/70rem auto;
    padding: 4.3rem 0 20rem;
  }
  #header .header_open .header_logo {
    margin-left: 73rem;
  }
  #header .header_open .header_date {
    width: 11.3rem;
    margin-left: 86.7rem;
  }
  #header .header_open .nav {
    margin: 6.8rem 0 0 70rem;
  }
  #header .header_open .nav ul li {
    position: relative;
    margin-bottom: 0;
  }
  #header .header_open .nav ul li::before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(#dbffff), color-stop(50%, #8bf7f6), to(#487cb7));
    background: linear-gradient(to right, #dbffff 0%, #8bf7f6 50%, #487cb7 100%);
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
  }
  #header .header_open .nav ul li:hover::before {
    width: 100%;
  }
  #header .header_open .nav ul li a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding: 2.6rem 2.8rem 1.2rem;
  }
  #header .header_open .nav ul li a small {
    position: relative;
    top: -1.2rem;
    margin: 0 0 0 1.4rem;
    font-size: 1.6rem;
  }
}

/* =====================================================================
    submv
======================================================================*/
#submv #submv_line01 {
  top: 14.6rem;
}

#submv #submv_line02 {
  height: 25rem;
  top: 38.2rem;
}

#submv .bg_submv {
  position: relative;
  width: calc(690 / 750 * 100%);
  height: 45rem;
  margin: 0 0 0 auto;
  overflow: hidden;
}

#submv .bg_submv::before {
  content: '';
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  z-index: 1;
}

#submv .bg_submv::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #89c8d3;
  mix-blend-mode: hard-light;
}

#submv .bg_submv _:-ms-lang(x), #submv .bg_submv::after {
  opacity: 0.6;
}

#submv .bg_submv video {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
}

#submv .submv_box {
  position: absolute;
  top: 0;
  left: 0;
  width: 20rem;
  height: 20rem;
  padding: 0 1.5rem 0 1.3rem;
  background-color: #eef9fa;
}

#submv .submv_box h1 {
  width: 17.2rem;
  padding-top: 5.9rem;
}

#submv .submv_box .submv_date {
  width: 11.3rem;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  #submv #submv_line01 {
    top: -1.9rem;
  }
  #submv #submv_line02 {
    height: 17.6rem;
    top: 13.5rem;
  }
  #submv .bg_submv {
    width: calc(1300 / 1600 * 100%);
    height: 30rem;
  }
  #submv .submv_box {
    width: calc(260 / 1600 * 100%);
    height: auto;
    padding: 0 0 0 calc(16 / 1600 * 100%);
    background-color: transparent;
  }
  #submv .submv_box h1 {
    width: calc(250 / 260 * 100%);
    margin: 0 0 1.6rem auto;
    padding-top: 10.1rem;
  }
}

/* =====================================================================
    subpage
======================================================================*/
.subpage #subpage_line01 {
  top: 34.3rem;
}

.subpage #subpage_line02 {
  top: 171.3rem;
}

.subpage #subpage_line03 {
  top: 188.5rem;
}

.subpage #subpage_line04 {
  top: 391.9rem;
}

.subpage #subpage_line05 {
  top: 410.3rem;
}

.subpage main > section:not(#submv) {
  padding-bottom: 10rem;
}

.subpage_box {
  position: relative;
  margin-left: calc(10 / 650 * 100%);
}

.subpage_box::before {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 69rem;
  height: 100%;
  background-color: #ffffff;
}

.subpage_box > * {
  position: relative;
}

.subpage .ttl_page {
  font-family: "Josefin Sans", sans-serif;
  font-style: italic;
  font-size: 6rem;
  margin: -2.7rem 0 5rem 1rem;
}

@media screen and (min-width: 768px) {
  .subpage #subpage_line01 {
    top: 46rem;
  }
  .subpage #subpage_line02 {
    top: 49.5rem;
  }
  .subpage #subpage_line03 {
    top: 86.6rem;
  }
  .subpage #subpage_line04 {
    top: 208.5rem;
  }
  .subpage #subpage_line05 {
    top: 239.6rem;
  }
  .subpage_box {
    margin-left: 0;
  }
  .subpage_box::before {
    width: 130rem;
    margin-left: 0;
  }
  .subpage .ttl_page {
    font-size: 6.6rem;
    margin: -2rem 0 3rem 0;
  }
}

/* =====================================================================
    背景デコレーション（斜線）
======================================================================*/
.bg_line_grade {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 13.6rem;
  background: linear-gradient(14deg, #8bf7f6 0%, #487cb7 100%);
  -webkit-transform: skewY(-13deg);
          transform: skewY(-13deg);
  -webkit-transform-origin: top right;
          transform-origin: top right;
  z-index: -1;
}

.bg_line_grade_flip {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 13.6rem;
  background: linear-gradient(166deg, #487cb7 0%, #8bf7f6 100%);
  -webkit-transform: skewY(13deg) translate3d(0, 0, 0);
          transform: skewY(13deg) translate3d(0, 0, 0);
  -webkit-transform-origin: top left;
          transform-origin: top left;
  z-index: -1;
}

.bg_line_border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 12rem;
  background: url(../images/common/img_line_border.png) repeat top left/0.12rem auto;
  -webkit-transform: skewY(-22deg);
          transform: skewY(-22deg);
  -webkit-transform-origin: top right;
          transform-origin: top right;
  z-index: -1;
}

.bg_line_border_flip {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 12rem;
  background: url(../images/common/img_line_border.png) repeat top left/0.12rem auto;
  -webkit-transform: skewY(22deg) translate3d(0, 0, 0);
          transform: skewY(22deg) translate3d(0, 0, 0);
  -webkit-transform-origin: top left;
          transform-origin: top left;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .bg_line_grade,
  .bg_line_grade_flip,
  .bg_line_border,
  .bg_line_border_flip {
    height: 8.5rem;
  }
  .bg_line_border,
  .bg_line_border_flip {
    background-size: 0.07rem auto;
  }
}

/* =====================================================================
    side_anime_line
======================================================================*/
.side_anime_line {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}

.side_anime_line span {
  position: absolute;
  height: 100rem;
  background: #f5ff00;
  border-radius: 1rem;
}

.side_anime_line span:nth-child(1) {
  top: 15rem;
  left: 6.7rem;
  width: 0.5rem;
  -webkit-animation: side_anime_line 5s infinite;
          animation: side_anime_line 5s infinite;
}

.side_anime_line span:nth-child(2) {
  top: 66rem;
  left: 9rem;
  width: 2rem;
  -webkit-animation: side_anime_line 3s infinite;
          animation: side_anime_line 3s infinite;
}

.side_anime_line span:nth-child(3) {
  top: 0;
  right: 1.8rem;
  width: 2rem;
  -webkit-animation: side_anime_line 2.5s infinite;
          animation: side_anime_line 2.5s infinite;
}

.side_anime_line span:nth-child(4) {
  top: 29rem;
  right: 7.4rem;
  width: 0.5rem;
  -webkit-animation: side_anime_line 3s infinite;
          animation: side_anime_line 3s infinite;
}

.side_anime_line span:nth-child(5) {
  top: -40rem;
  right: 1.9rem;
  width: 0.5rem;
  -webkit-animation: side_anime_line 5s infinite;
          animation: side_anime_line 5s infinite;
}

@-webkit-keyframes side_anime_line {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  50% {
    -webkit-transform: translateY(-200%);
            transform: translateY(-200%);
  }
  100% {
    -webkit-transform: translateY(-200%);
            transform: translateY(-200%);
  }
}

@keyframes side_anime_line {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  50% {
    -webkit-transform: translateY(-200%);
            transform: translateY(-200%);
  }
  100% {
    -webkit-transform: translateY(-200%);
            transform: translateY(-200%);
  }
}

@media screen and (min-width: 768px) {
  .side_anime_line span:nth-child(1) {
    left: 9.5rem;
  }
  .side_anime_line span:nth-child(2) {
    left: 11.7rem;
  }
  .side_anime_line span:nth-child(3) {
    right: 17rem;
  }
  .side_anime_line span:nth-child(4) {
    right: 11rem;
  }
  .side_anime_line span:nth-child(5) {
    right: 9rem;
  }
}

/* =====================================================================
    marquee
======================================================================*/
.marquee_left,
.marquee_right {
  position: fixed;
  width: 3rem;
  height: 154rem;
  overflow: hidden;
  z-index: 3;
}

.marquee_left::before, .marquee_left::after,
.marquee_right::before,
.marquee_right::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 56%;
  height: 100%;
  background: url(../images/common/txt_marquee-sp.png) repeat-y top center/100% auto;
}

.marquee_left::before,
.marquee_right::before {
  -webkit-animation: marquee_anime01 50s -25s linear infinite;
          animation: marquee_anime01 50s -25s linear infinite;
}

.marquee_left::after,
.marquee_right::after {
  top: 100%;
  -webkit-animation: marquee_anime02 50s linear infinite;
          animation: marquee_anime02 50s linear infinite;
}

.marquee_left {
  top: 45rem;
  left: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(#68e0cf), to(#209cff));
  background: linear-gradient(to top, #68e0cf 0%, #209cff 100%);
}

.marquee_right {
  top: 0;
  right: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#68e0cf), to(#209cff));
  background: linear-gradient(to bottom, #68e0cf 0%, #209cff 100%);
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
}

@-webkit-keyframes marquee_anime01 {
  from {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

@keyframes marquee_anime01 {
  from {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

@-webkit-keyframes marquee_anime02 {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-200%);
            transform: translateY(-200%);
  }
}

@keyframes marquee_anime02 {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-200%);
            transform: translateY(-200%);
  }
}

@media screen and (min-width: 768px) {
  .marquee_left,
  .marquee_right {
    width: 5rem;
    height: 105.4rem;
  }
  .marquee_left::before, .marquee_left::after,
  .marquee_right::before,
  .marquee_right::after {
    width: 48%;
    background-image: url(../images/common/txt_marquee-pc.png);
  }
  .marquee_left {
    top: 30rem;
  }
}

/* =====================================================================
*    footer
* =================================================================== */
#footer {
  padding-top: 44rem;
}

#footer .footer_banner01 {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 48rem;
  margin-bottom: 2rem;
}

#footer .footer_banner01.fixed {
  position: fixed;
  top: auto;
  bottom: 0;
  z-index: 999;
}

@media screen and (max-width: 767px) {
  #footer .footer_banner01.fixed li:nth-child(2) {
    display: none;
  }
}

#footer .footer_banner01 li:not(:last-child) {
  margin-bottom: 2rem;
}

#footer .footer_banner01 li a {
  -webkit-box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.18);
          box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.18);
}

#footer .footer_box {
  position: relative;
  padding: 19.4rem 0 10rem;
  border-bottom: 1.6rem solid #f5ff00;
}

#footer .footer_box::before {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(100deg, #002270 0%, #68e0cf 100%);
  opacity: 0.6;
  -webkit-clip-path: polygon(40% 9vw, 50% 0, 100% 0, 100% 100%, 0 100%, 0 9vw);
          clip-path: polygon(40% 9vw, 50% 0, 100% 0, 100% 100%, 0 100%, 0 9vw);
}

#footer .footer_box .pagetop {
  position: absolute;
  top: -10rem;
  right: 5.3rem;
  width: 20rem;
  height: 20rem;
  background: rgba(189, 223, 230, 0.5);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  border: 1px solid #ffffff;
  border-radius: 50%;
  -webkit-box-shadow: 0 1.5rem 5.9rem 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 1.5rem 5.9rem 0 rgba(0, 0, 0, 0.16);
  z-index: 3;
}

#footer .footer_box .pagetop a {
  position: relative;
  height: 100%;
}

#footer .footer_box .pagetop a::before {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/common/btn_pagetop_bg.png) no-repeat center/contain;
  -webkit-animation: 4s linear infinite rotation;
          animation: 4s linear infinite rotation;
}

#footer .footer_box .pagetop a::after {
  content: '';
  position: absolute;
  display: block;
  top: 2.2em;
  left: 50%;
  width: 1.9em;
  height: 2.4em;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../images/common/btn_pagetop_shuttle.png) no-repeat center/contain;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

#footer .footer_box .pagetop a img {
  width: 23%;
  margin: 0 auto;
  padding-top: 63%;
}

#footer .footer_box .footer_sns {
  margin-bottom: 9rem;
}

#footer .footer_box .footer_sns .ttl_footer {
  position: relative;
  width: 15.1rem;
  margin: 0 auto 4rem;
  padding-bottom: 1.3rem;
}

#footer .footer_box .footer_sns .ttl_footer::before {
  content: '';
  position: absolute;
  display: block;
  bottom: 0;
  right: 0;
  width: 9rem;
  height: 0.2rem;
  background-color: #f5ff00;
}

#footer .footer_box .footer_sns .footer_sns_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#footer .footer_box .footer_sns .footer_sns_list li {
  width: 9rem;
  margin: 0 1rem;
}

#footer .footer_box .footer_sns .footer_sns_list li a {
  padding: 2.6rem 0;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid #ffffff;
  border-radius: 50%;
  -webkit-box-shadow: 0 1.7rem 5rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 1.7rem 5rem 0 rgba(0, 0, 0, 0.1);
}

#footer .footer_box .footer_sns .footer_sns_list li a img {
  width: 3.9rem;
  margin: 0 auto;
}

#footer .footer_box .footer_banner02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto 5.6rem;
}

#footer .footer_box .footer_banner02 li {
  width: calc(310 / 650 * 100%);
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  #footer .footer_box .footer_banner02 li:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}

#footer .footer_box .footer_banner02 li a {
  border: 1px solid #b6cbcf;
}

#footer .footer_box .copyright {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 2rem;
  color: #d8fbfd;
  text-align: center;
}

.pagetop_ray {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.3);
  mix-blend-mode: color-dodge;
  z-index: 9999;
}

.pagetop_ray::before, .pagetop_ray::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: url("../images/common/img_ray.png") repeat top left/auto 70vh;
}

.pagetop_ray::before {
  -webkit-animation: pagetop_ray1 1s linear infinite;
          animation: pagetop_ray1 1s linear infinite;
}

.pagetop_ray::after {
  -webkit-animation: pagetop_ray1 1.5s linear infinite;
          animation: pagetop_ray1 1.5s linear infinite;
}

_:-ms-lang(x),
.pagetop_ray {
  opacity: 0.2;
}

@-webkit-keyframes pagetop_ray1 {
  0% {
    background-position: 0% 100%;
  }
  70% {
    background-position: 0% -100%;
  }
  90% {
    opacity: 0;
  }
}

@keyframes pagetop_ray1 {
  0% {
    background-position: 0% 100%;
  }
  70% {
    background-position: 0% -100%;
  }
  90% {
    opacity: 0;
  }
}

@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@media screen and (min-width: 768px) {
  #footer {
    margin: -15rem 0 3.6rem;
    padding-top: 15rem;
  }
  #footer .footer_banner01 {
    left: 3rem;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    width: 32rem;
    margin: 0;
    z-index: 4;
  }
  #footer .footer_banner01.fixed {
    margin-bottom: 3rem;
  }
  #footer .footer_banner01 li a {
    -webkit-box-shadow: 0 0.7rem 1.6rem 0 rgba(0, 0, 0, 0.22);
            box-shadow: 0 0.7rem 1.6rem 0 rgba(0, 0, 0, 0.22);
  }
  #footer .footer_banner01 li a:hover {
    -webkit-box-shadow: 0 0.7rem 1.6rem 0 rgba(0, 0, 0, 0.5);
            box-shadow: 0 0.7rem 1.6rem 0 rgba(0, 0, 0, 0.5);
  }
  #footer .footer_box {
    padding: 3.3rem 0 9rem;
    border-bottom: 0.8rem solid #f5ff00;
  }
  #footer .footer_box::before {
    -webkit-clip-path: polygon(19% 6.6vw, 25% 0, 100% 0, 100% 100%, 0 100%, 0 6.6vw);
            clip-path: polygon(19% 6.6vw, 25% 0, 100% 0, 100% 100%, 0 100%, 0 6.6vw);
  }
  #footer .footer_box .pagetop {
    top: -7.9rem;
    right: 12.6rem;
    width: 15rem;
    height: 15rem;
  }
  #footer .footer_box .pagetop a:hover::after {
    top: 1.8em;
  }
  #footer .footer_box .footer_sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 6.7rem;
  }
  #footer .footer_box .footer_sns .ttl_footer {
    width: 34.8rem;
    margin: 0 3.5rem 0 10rem;
    padding: 0;
  }
  #footer .footer_box .footer_sns .ttl_footer::before {
    width: 15.2rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  #footer .footer_box .footer_sns .ttl_footer img {
    width: 15.6rem;
  }
  #footer .footer_box .footer_sns .footer_sns_list li {
    width: 5rem;
    margin: 0 0.7rem;
  }
  #footer .footer_box .footer_sns .footer_sns_list li a {
    position: relative;
    top: 0;
    padding: 1.3rem 0;
  }
  #footer .footer_box .footer_sns .footer_sns_list li a:hover {
    top: -1rem;
  }
  #footer .footer_box .footer_sns .footer_sns_list li a img {
    width: 2.1rem;
  }
  #footer .footer_box .footer_banner02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%;
    margin: 0 auto 2rem;
  }
  #footer .footer_box .footer_banner02 li {
    width: calc(220 / 1000 * 100%);
    margin: 0 0 1.6rem calc(20 / 1000 * 100%);
  }
  #footer .footer_box .footer_banner02 li a:hover {
    border-color: #f4fdff;
    -webkit-box-shadow: 0 0 2.4rem 0 rgba(156, 180, 184, 0.63);
            box-shadow: 0 0 2.4rem 0 rgba(156, 180, 184, 0.63);
  }
  #footer .footer_box .copyright {
    font-size: 1.2rem;
    text-align: right;
  }
}
/*# sourceMappingURL=base.css.map */